#2381
Se organizează o petrecere la care participă N băieți (numerotați de la 1 la N) și N fete (numerotate de la 1 la N). S-a decis ca petrecerea să dureze mai multe minute. În fiecare minut fetele și băieții formează o configurație de dans, adică N perechi, după una din următoarele reguli:
1. băiatul i dansează cu fata i;
2. băiatul i dansează cu fata j și atunci obligatoriu băiatul j dansează cu fata i.
De exemplu, pentru N = 7, două configurații de dans posibile sunt:
(1, 1) (2, 2) (3, 7)(4, 5) (5, 4) (6, 6) (7, 3)
(1, 1) (2, 2) (3, 3)(4, 5) (5, 4) (6, 6) (7, 7)
Prin perechea (i, j) s-a notat faptul că băiatul i dansează cu fata j. Două configurații sunt distincte dacă ele diferă prin cel puțin o pereche. Ştiind că în fiecare minut trebuie formate configuraţii de dans distincte, să se determine câte minute durează petrecerea.
ONI 2010
| Problema | petrecere | Operații I/O |
petrecere.in/petrecere.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
| Id soluție | #64539365 | Utilizator | |
| Fișier | petrecere.cpp | Dimensiune | 2.21 KB |
| Data încărcării | 13 Mai 2026, 10:26 | Scor/rezultat | 55 puncte |
petrecere.cpp: In member function ‘void big::add(big)’: petrecere.cpp:47:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 47 | for(auto i=0;i<n || t;i++) | ~^~ petrecere.cpp:49:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 49 | if(i==cifre.size()) | ~^~~~~~~~~~~~~~ petrecere.cpp:52:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 52 | int val=(i<b.cifre.size()) ? b.cifre[i] : 0; | ~^~~~~~~~~~~~~~~ petrecere.cpp: In member function ‘void big::mul(int)’: petrecere.cpp:69:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 69 | for(auto i=0;i<cifre.size() || t;i++) | ~^~~~~~~~~~~~~ petrecere.cpp:71:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 71 | if(i==cifre.size()) | ~^~~~~~~~~~~~~~ petrecere.cpp: In function ‘int main()’: petrecere.cpp:99:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 99 | freopen("petrecere.in","r",stdin); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ petrecere.cpp:100:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 100 | freopen("petrecere.out","w",stdout); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 5 | 5 | ||
| 2 | 0.001 secunde | OK. | 5 | 5 | ||
| 3 | 0.001 secunde | OK. | 5 | 5 | ||
| 4 | 0.001 secunde | OK. | 5 | 5 | ||
| 5 | 0.001 secunde | OK. | 5 | 5 | ||
| 6 | 0.001 secunde | OK. | 5 | 5 | ||
| 7 | 0.001 secunde | OK. | 5 | 5 | ||
| 8 | 0.001 secunde | OK. | 5 | 5 | ||
| 9 | 0.002 secunde | OK. | 5 | 5 | ||
| 10 | 0.005 secunde | OK. | 5 | 5 | ||
| 11 | 0.006 secunde | OK. | 5 | 5 | ||
| 12 | 0.008 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 13 | 0.005 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 14 | 0.005 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 15 | 0.005 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 16 | 0.005 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 17 | 0.005 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 18 | 0.004 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 19 | 0.005 secunde | Caught fatal signal 6 | 5 | 0 | ||
| 20 | 0.004 secunde | Caught fatal signal 6 | 5 | 0 | ||
| Punctaj total | 55 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema petrecere 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ă.