#2954
A și B participă la un joc cu următoarele reguli:
n mai mare decât 1;1 din număr, sau să îl împartă la 2 (rezultatul fiind partea întreagă a împărțirii), apoi acest număr este dat adversarului, care va proceda la fel;1.Avem două tipuri de joc, în funcție de cum se termină:
1. Câștigă cel care primește de la adversar numărul 1;
2. Pierde cel care primește de la adversar numărul 1.
Un meci este format din mai multe game-uri consecutive, toate fiind de același tip. Vom considera, că cei doi jucători cunosc acest principiu înainte de începerea meciului și că vor juca optim de fiecare dată. De exemplu, dacă jocul este de tipul 1 (câștigă cel care primește 1) și game-ul începe cu valoarea n = 4, atunci A va câștiga, pentru că împarte la 2, iar B indiferent că scade 1 sau împarte la 2, îi va da lui A numărul 1, deci A va câștiga.
Dacă jocul este de tipul 2 și game-ul începe cu valoarea n = 4, atunci A va pierde, pentru că indiferent că scade 1 și îi dă lui B numărul 3, sau împarte la 2 și îi dă lui B numărul 2, B va împărți acest număr la 2 (3 / 2 = 1, 2 / 2 = 1) și îi va da lui A numărul 1, deci A va pierde.
Cunoscând tipul T al jocului, numărul G al game-urilor, respectiv valoarea de pornire pentru fiecare game, să se răspundă pentru fiecare caz în parte, dacă jucătorul A va câștiga (1) sau va pierde (0).
| Problema | game1 | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 1 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
| Id soluție | #64999364 | Utilizator | |
| Fișier | game1.cpp | Dimensiune | 3.29 KB |
| Data încărcării | 09 Iulie 2026, 15:05 | Scor/rezultat | Eroare de compilare |
game1.cpp: In function ‘bool castiga_large(long long int, int)’: game1.cpp:74:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions] 74 | auto [start, end] = intervals.back(); | ^ game1.cpp:79:54: error: ‘ignore’ was not declared in this scope 79 | if (curr <= TABLE_SIZE || hash_get(curr, ignore)) continue; | ^~~~~~ game1.cpp:84:67: error: ‘val1’ was not declared in this scope 84 | bool have1 = (next1 <= TABLE_SIZE) || hash_get(next1, val1); | ^~~~ game1.cpp:85:67: error: ‘val2’ was not declared in this scope 85 | bool have2 = (next2 <= TABLE_SIZE) || hash_get(next2, val2); | ^~~~ game1.cpp:63:19: warning: unused variable ‘table’ [-Wunused-variable] 63 | vector<char>& table = (T == 1) ? table1 : table2; | ^~~~~
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema game1 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ă.