#1113
Suleiman I s-a confruntat în anul 1548 cu mari probleme interne. În acel an, el a primit vestea că într-una din regiunile Imperiului se pregăteşte o răscoală. Harta Imperiului este realizată sub forma unui tablou bidimensional cu n linii şi m coloane, iar fiecare element al tabloului corespunde unei regiuni a Imperiului. În fiecare regiune erau deja cantonaţi soldaţi, dar pentru a preîntâmpina răscoala sultanul decide ca toţi cei k soldaţi din Garda Imperială să fie trimişi în regiuni, întărindu-le pe cele păzite de mai puţini soldaţi. Distribuirea lor respectă următoarele reguli:
Suleiman continuă distribuirea soldaţilor din garda imperială în regiuni conform celor precizate anterior, până la epuizarea soldaţilor din Garda Imperială.
Cunoscându-se n, m şi k reprezentând numărul de linii, numărul de coloane, respectiv numărul de soldaţi din Garda Imperială, precum şi numărul de soldaţi existent deja în regiunile Imperiului, să se determine:
a) numărul de regiuni din Imperiu în care vor fi trimişi soldaţii din Garda Imperială, respectiv numărul minim de soldaţi care se vor găsi într-o regiune, după trimiterea soldaţilor din Garda Imperială;
b) distanța maximă între două regiuni în care au fost trimiși soldaţi ai Gărzii Imperiale. Distanța între o regiune A și o regiune B se calculează folosind formula |LA- LB| + |CA- CB|, unde (LA ,CA) reprezintă coordonatele regiunii A, precizate prin numărul liniei și coloanei, respectiv (LB ,CB) reprezintă coordonatele regiunii B, precizate prin numărul liniei și coloanei.
| Problema | Rascoala | Operații I/O |
rascoala.in/rascoala.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 32 MB
/
Stivă 16 MB
|
| Id soluție | #57664276 | Utilizator | |
| Fișier | rascoala.cpp | Dimensiune | 2.03 KB |
| Data încărcării | 09 Aprilie 2025, 16:05 | Scor/rezultat | 80 puncte |
rascoala.cpp: In function 'int main()': rascoala.cpp:37:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while(pos<v.size() && v[pos].val==mini) ^ rascoala.cpp:87:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int p1=0; p1<soldati.size(); p1++) ^ rascoala.cpp:88:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int p2=p1+1; p2<soldati.size(); p2++) ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.016 secunde | OK. | 5 | 5 | ||
| 2 | 0.016 secunde | OK. | 5 | 5 | ||
| 3 | 0.024 secunde | OK. | 5 | 5 | ||
| 4 | 0.028 secunde | OK. | 5 | 5 | ||
| 5 | 0.036 secunde | OK. | 5 | 5 | ||
| 6 | 0.036 secunde | OK. | 5 | 5 | ||
| 7 | 0 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 8 | 0 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 9 | 0.052 secunde | OK. | 5 | 5 | ||
| 10 | 0.056 secunde | OK. | 5 | 5 | ||
| 11 | 0.032 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 12 | 0.032 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 13 | 0.048 secunde | OK. | 5 | 5 | ||
| 14 | 0.056 secunde | OK. | 5 | 5 | ||
| 15 | 0.052 secunde | OK. | 5 | 5 | ||
| 16 | 0.056 secunde | OK. | 5 | 5 | ||
| 17 | 0.052 secunde | OK. | 5 | 5 | ||
| 18 | 0.052 secunde | OK. | 5 | 5 | ||
| 19 | 0.052 secunde | OK. | 5 | 5 | ||
| 20 | 0.056 secunde | OK. | 5 | 5 | ||
| Punctaj total | 80 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Rascoala 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ă.