Detalii evaluare #64055499

Rezumat problemă

În regatul Ofni este Ajunul Crăciunului. Maleficul vrăjitor Irum din regatul vecin Akizif a aruncat un blestem asupra a k orașe din regatul Ofni, orașe care pot fi vizualizate ca matrici cu ni linii și mi coloane. Acest blestem constă în grinchificarea persoanelor din aceste orașe. Blestemul funcționează în felul următor. Irum alege din fiecare oraș mai multe case (pătrățele unitate ale matricei oraș) și le infectează. După ce termină de infectat casele de pornire, blestemul infectează oricare casă cu cel puțin doi vecini pe linie sau coloană. Cum blestemul se mișcă foarte rapid, transformările se petrec instantaneu. Pentru că era bătrân și obosit, Irum a făcut o greșeală, astfel că dacă blestemul nu va putea infecta întregul oraș, acesta se destramă și nu va avea efect. Dacă toate casele din oraș vor fi afectate, toți locuitorii orașului vor deveni grinchi.

Pentru a salva Crăciunul, bunul vrăjitor Picm trebuie să găsească o vrajă pentru a preschimba locuitorii grinchificați ai orașului înapoi cum erau. Cu ajutorul unui spion, Picm a aflat câte orașe sunt infectate, dimensiunile acestora, precum și câte și care au fost celule infectate inițial de Irum. Picm știe că vraja se află în cartea lui magică, Pbofni, la pagina numărul P unde P este suma oki*ini*mi%97 și oki este 1 dacă orașul a fost infectat și 0 în cazul contrar. Cum în Ofni nu s-au inventat încă calculatoarele și apusul e aproape, Picm, bun algoritmician de altfel, vă cere ajutorul pentru a afla numărul paginii și a salva Crăciunul de pandemia de grinchi.

Problema are două cerințe.
Pentru c = 1, se cere determinarea numărului de orașe grinchificate.
Pentru c = 2, se cere numărul paginii P la care se află vraja salvatoare.

Detalii

Problema Pandemica Operații I/O pandemica.in/pandemica.out
Limita timp 0.7 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #64055499 Utilizator Cismaru Eric-Dimitrie (Eric_278)
Fișier pandemica.cpp Dimensiune 4.90 KB
Data încărcării 14 Aprilie 2026, 16:40 Scor/rezultat 100 puncte

Evaluare

Mesaj compilare

pandemica.cpp: In member function 'char InParser::read()':
pandemica.cpp:23:37: warning: ignoring return value of 'size_t fread(void*, size_t, size_t, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
             fread(buff, 1, DBUFF, f);

                                     ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0.012 secunde OK. 5 5
2 0.076 secunde OK. 5 5
3 0.18 secunde OK. 10 10
4 0.416 secunde OK. 10 10
5 0.616 secunde OK. 10 10
6 0.016 secunde OK. 5 5
7 0.008 secunde OK. 5 5
8 0.236 secunde OK. 10 10
9 0.448 secunde OK. 10 10
10 0.456 secunde OK. 10 10
11 0.644 secunde OK. 10 10
12 0.66 secunde OK. 10 10
Punctaj total 100

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Pandemica face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.

Du-te sus!