#750
Ana are un joc nou. Pe o tablă pătrată este trasat un grid format din celule pătratice de dimensiune 1. În oricare dintre colţurile oricărei celule, Ana poate înfige câte un beţişor perpendicular pe tablă. După ce a plasat n beţişoare, Ana ia dintr-o cutie (cu un număr suficient de mare de corzi elastice circulare) câte o coardă cu care înconjoară trei sau mai multe beţişoare. Fiecare coardă este bine întinsă şi formează pe tablă un contur poligonal.
În figura alăturată este folosită o coardă ce formează un contur poligonal cu 4 laturi cu care sunt înconjurate 5 dintre cele 8 beţişoare de pe tablă.
Jocul se încheie când au fost plasate atâtea coarde încât toate beţişoarele de pe tablă să se afle pe marginea sau în interiorul a cel puţin unul dintre contururile poligonale formate. Scopul jocului este ca amplasarea corzilor să fie făcută convenabil astfel încât totalul ariilor contururilor poligonale formate să fie minim.

Cunoscând coordonatele celor n beţişoare (x[1], y[1]), (x[2], y[2]), …, (x[n], y[n]) măsurate faţă de unul dintre colţurile gridului, Ana doreşte să găsească suma minimă a ariilor poligonale obţinute prin amplasarea convenabilă a coardelor, astfel încât fiecare beţişor să se găsească în interiorul sau pe conturul a cel puţin un astfel de poligon.
Lot Juniori, Cluj Napoca, 2009
| Problema | smin | Operații I/O |
smin.in/smin.out
|
|---|---|---|---|
| Limita timp | 2.5 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
| Id soluție | #63946351 | Utilizator | |
| Fișier | smin.cpp | Dimensiune | 790 B |
| Data încărcării | 29 Martie 2026, 09:49 | Scor/rezultat | Eroare de compilare |
smin.cpp: In function 'int main()': smin.cpp:23:19: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] int d[1<<(N-1)-1]; ^ smin.cpp:29:31: error: 'n' was not declared in this scope for (int mask = 0;mask<=(1<<(n-1)-1);mask++) ^ smin.cpp:33:123: error: 'aerie' was not declared in this scope d[mask | (1<<p1) | (1<<p2) | (1<<p3)] = min(d[mask | (1<<p1) | (1<<p2) | (1<<p3)] , d[mask] + aerie(p[p1],p[p2],p[p3])); ^ smin.cpp:35:10: error: 'setprecision' is not a member of 'std' fout << std::setprecision(3) << std::showpoint << d[1<<(N-1)-1]/2.0; ^ smin.cpp:35:62: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] fout << std::setprecision(3) << std::showpoint << d[1<<(N-1)-1]/2.0; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema smin face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.