#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 | #58803256 | Utilizator | |
| Fișier | smin.cpp | Dimensiune | 5.51 KB |
| Data încărcării | 11 August 2025, 23:39 | Scor/rezultat | Eroare de compilare |
smin.cpp: In function 'double calculate_polygon_area(const std::vector<Point>&)': smin.cpp:55:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < polygon.size(); i++) { ^ smin.cpp: In function 'void precompute_polygons()': smin.cpp:129:21: error: expected unqualified-id before '[' token for(auto const& [mask, area] : min_area_for_cover) { ^ smin.cpp:129:21: error: expected ';' before '[' token smin.cpp:129:22: error: 'mask' was not declared in this scope for(auto const& [mask, area] : min_area_for_cover) { ^ smin.cpp:129:28: error: 'area' was not declared in this scope for(auto const& [mask, area] : min_area_for_cover) { ^ smin.cpp: In lambda function: smin.cpp:129:34: error: expected '{' before ':' token for(auto const& [mask, area] : min_area_for_cover) { ^ smin.cpp: In function 'void precompute_polygons()': smin.cpp:129:34: error: expected ';' before ':' token smin.cpp:129:34: error: expected primary-expression before ':' token smin.cpp:129:34: error: expected ')' before ':' token smin.cpp:129:34: error: expected primary-expression before ':' token smin.cpp:129:34: error: expected ';' before ':' token smin.cpp:179:1: error: expected '}' at end of input } ^
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ă.