Detalii evaluare #64122725

Rezumat problemă

#5004

Fie o matrice de dimensiuni 𝑁 × 𝑀 care conține numai valorile 0 și 1. Căsuțele marcate cu 0 sunt inaccesibile, în timp ce căsuțele marcate cu 1 sunt accesibile.

Gimi se va afla inițial într-o căsuță marcată cu 1 din această matrice, poziția ei nefiind însă cunoscută nouă. Lui Gimi îi putem da instrucțiuni de tipul: deplasează-te în căsuța (𝑥𝑑 , 𝑦𝑑). Regulile sunt următoarele:

  • Gimi se poate deplasa numai în căsuțe marcate cu 1.
  • Gimi se poate deplasa numai în căsuțe vecine cu cea în care se află. Căsuțele vecine cu (𝑥, 𝑦) sunt (cât timp sunt în matrice): (𝑥 − 1, 𝑦), (𝑥, 𝑦 + 1), (𝑥 + 1, 𝑦) și (𝑥, 𝑦 − 1).

Dacă Gimi poate respecta toate regulile, atunci acesta se va deplasa în căsuța (𝑥𝑑 , 𝑦𝑑). Altfel, va rămâne pe loc.

Scrieți un program care, cunoscând 𝑁 și 𝑀, respectiv matricea, determină:

Cerința 1. O serie de instrucțiuni pe care, dacă Gimi o urmărește, indiferent de poziția lui inițială, ne va garanta faptul că va trece prin căsuța (𝑥𝑡 , 𝑦𝑡) (marcată cu 1).
Cerința 2. O serie de instrucțiuni pe care, dacă Gimi o urmărește, indiferent de poziția lui inițială, ne va garanta faptul că va trece prin toate celelalte căsuțe marcate cu 1.
Cerința 3. Cel mai mic număr 𝑃 astfel încât, primind o serie de 𝑄 instrucțiuni pe care, dacă Gimi o urmărește, indiferent de poziția lui de start, ne va garanta faptul că va trece prin toate celelalte căsuțe marcate cu 1, fără să fie necesară executarea instrucțiunilor de la 𝑃 + 1 la 𝑄.

ONI 2026, clasa a 10-a
Fișiere Candale Silviu (silviu) Ioan-Cristian Pop concurs

Detalii

Problema Blind Operații I/O blind.in/blind.out
Limita timp 1 secunde Limita memorie Total: 128 MB / Stivă 8 MB
Id soluție #64122725 Utilizator Gelu Ionescu (test111)
Fișier blind.cpp Dimensiune 4.34 KB
Data încărcării 18 Aprilie 2026, 16:30 Scor/rezultat 100 puncte

Evaluare

Mesaj compilare

blind.cpp: In function ‘int solvetask3()’:
blind.cpp:116:50: warning: array subscript -1 is below array bounds of ‘int [502][502]’ [-Warray-bounds=]
  116 |         for(int i = 0; i < 4 && !whatpathtaggy[xx][yy]; i++){
      |                                  ~~~~~~~~~~~~~~~~^
blind.cpp:30:5: note: while referencing ‘whatpathtaggy’
   30 | int whatpathtaggy[nmax + 2][nmax + 2];
      |     ^~~~~~~~~~~~~

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0.001 secunde Contestant solution is valid! 2 2
2 0.001 secunde Contestant solution is valid! 2 2
3 0.005 secunde Contestant solution is valid! 2 2
4 0.002 secunde Contestant solution is valid! 2 2
5 0.001 secunde Contestant solution is valid! 2 2
6 0.001 secunde Contestant solution is valid! 2 2
7 0.003 secunde Contestant solution is valid! 2 2
8 0.004 secunde Contestant solution is valid! 2 2
9 0.003 secunde Contestant solution is valid! 2 2
10 0.009 secunde Contestant solution is valid! 2 2
11 0.016 secunde Contestant solution is valid! 2 2
12 0.014 secunde Contestant solution is valid! 2 2
13 0.001 secunde Contestant solution is valid! 2 2
14 0.001 secunde Contestant solution is valid! 2 2
15 0.001 secunde Contestant solution is valid! 2 2
16 0.002 secunde Contestant solution is valid! 2 2
17 0.001 secunde Contestant solution is valid! 2 2
18 0.001 secunde Contestant solution is valid! 2 2
19 0.001 secunde Contestant solution is valid! 2 2
20 0.001 secunde Contestant solution is valid! 2 2
21 0.001 secunde Contestant solution is valid! 2 2
22 0.002 secunde Contestant solution is valid! 2 2
23 0.003 secunde Contestant solution is valid! 2 2
24 0.005 secunde Contestant solution is valid! 2 2
25 0.018 secunde Contestant solution is valid! 2 2
26 0.002 secunde Correct! 2 2
27 0.005 secunde Correct! 2 2
28 0.002 secunde Correct! 2 2
29 0.002 secunde Correct! 2 2
30 0.002 secunde Correct! 2 2
31 0.025 secunde Correct! 2 2
32 0.015 secunde Correct! 2 2
33 0.016 secunde Correct! 2 2
34 0.026 secunde Correct! 2 2
35 0.032 secunde Correct! 2 2
36 0.023 secunde Correct! 2 2
37 0.023 secunde Correct! 2 2
38 0.024 secunde Correct! 2 2
39 0.289 secunde Correct! 2 2
40 0.298 secunde Correct! 2 2
41 0.326 secunde Correct! 2 2
42 0.325 secunde Correct! 2 2
43 0.323 secunde Correct! 2 2
44 0.36 secunde Correct! 2 2
45 0.362 secunde Correct! 2 2
46 0.364 secunde Correct! 2 2
47 0.364 secunde Correct! 2 2
48 0.444 secunde Correct! 2 2
49 0.383 secunde Correct! 2 2
50 0.387 secunde Correct! 2 2
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 Blind 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!