#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 | #63946343 | Utilizator | |
| Fișier | smin.cpp | Dimensiune | 726 B |
| Data încărcării | 29 Martie 2026, 09:47 | Scor/rezultat | Eroare de compilare |
smin.cpp: In function 'int main()': smin.cpp:24:31: error: 'n' was not declared in this scope for (int mask = 0;mask<=(1<<(n-1)-1);mask++) ^ smin.cpp:25:8: error: 'p1' was not declared in this scope for (p1 = 0; p1<N ;p1++) ^ smin.cpp:26:9: error: 'p2' was not declared in this scope for (p2 = p1+1;p2<N;p2++) ^ smin.cpp:27:10: error: 'p3' was not declared in this scope for (p3 = p2+1;p3<N;p3++) ^ smin.cpp:28:6: error: 'd' 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:28: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:30:10: error: 'setprecision' is not a member of 'std' fout << std::setprecision(3) << std::showpoint << d[1<<(n-1)-1]/2.0; ^ smin.cpp:30:52: error: 'd' was not declared in this scope fout << std::setprecision(3) << std::showpoint << d[1<<(n-1)-1]/2.0; ^ smin.cpp:30:58: error: 'n' was not declared in this scope 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ă.