#750
smin
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 | #42793765 | Utilizator | |
Fișier | smin.cpp | Dimensiune | 1.75 KB |
Data încărcării | 17 Martie 2023, 11:55 | Scor / rezultat | 100 puncte |
smin.cpp: In function 'void bkt(int)': smin.cpp:27:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (p == bs.size()) ^ smin.cpp: In function 'int main()': smin.cpp:69:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int p1 = 0; p1 < b1.size() - 2; p1++) ^ smin.cpp:70:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int p2 = p1 + 1; p2 < b1.size() - 1; p2++) ^ smin.cpp:71:56: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int p3 = p2 + 1; p3 < b1.size(); p3++) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Corect! | 10 | 10 | ||
2 | 0 secunde | Corect! | 10 | 10 | ||
3 | 0 secunde | Corect! | 10 | 10 | ||
4 | 0 secunde | Corect! | 10 | 10 | ||
5 | 0.172 secunde | Corect! | 10 | 10 | ||
6 | 0 secunde | Corect! | 10 | 10 | ||
7 | 1.624 secunde | Corect! | 10 | 10 | ||
8 | 0.52 secunde | Corect! | 10 | 10 | ||
9 | 1.628 secunde | Corect! | 10 | 10 | ||
10 | 1.552 secunde | Corect! | 10 | 10 | ||
Punctaj total | 100 |
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ă.