Detalii evaluare #64177833

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 #64177833 Utilizator Andrei Visalon (Prekzursil)
Fișier blind.cpp Dimensiune 4.58 KB
Data încărcării 21 Aprilie 2026, 18:54 Scor/rezultat 100 puncte

Evaluare

Mesaj compilare

blind.cpp: In function ‘void solve3()’:
blind.cpp:69:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
   69 |         auto [x, y] = pos[i];
      |              ^
blind.cpp:80:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
   80 |         auto [x, y] = v[i];
      |              ^
blind.cpp: In function ‘void solve()’:
blind.cpp:163:19: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
  163 |         for (auto [x, y] : moves) {
      |                   ^
blind.cpp:168:14: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
  168 |         auto [x, y] = pos[1];
      |              ^
blind.cpp:176:19: warning: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
  176 |         for (auto [x, y] : moves) {
      |                   ^
blind.cpp: In function ‘int main()’:
blind.cpp:194:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  194 |     freopen("blind.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
blind.cpp:195:12: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  195 |     freopen("blind.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~

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.001 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.001 secunde Contestant solution is valid! 2 2
8 0.002 secunde Contestant solution is valid! 2 2
9 0.003 secunde Contestant solution is valid! 2 2
10 0.004 secunde Contestant solution is valid! 2 2
11 0.009 secunde Contestant solution is valid! 2 2
12 0.015 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.006 secunde Contestant solution is valid! 2 2
25 0.019 secunde Contestant solution is valid! 2 2
26 0.003 secunde Correct! 2 2
27 0.002 secunde Correct! 2 2
28 0.002 secunde Correct! 2 2
29 0.002 secunde Correct! 2 2
30 0.003 secunde Correct! 2 2
31 0.018 secunde Correct! 2 2
32 0.019 secunde Correct! 2 2
33 0.021 secunde Correct! 2 2
34 0.022 secunde Correct! 2 2
35 0.032 secunde Correct! 2 2
36 0.03 secunde Correct! 2 2
37 0.03 secunde Correct! 2 2
38 0.03 secunde Correct! 2 2
39 0.402 secunde Correct! 2 2
40 0.379 secunde Correct! 2 2
41 0.409 secunde Correct! 2 2
42 0.417 secunde Correct! 2 2
43 0.502 secunde Correct! 2 2
44 0.416 secunde Correct! 2 2
45 0.428 secunde Correct! 2 2
46 0.424 secunde Correct! 2 2
47 0.442 secunde Correct! 2 2
48 0.477 secunde Correct! 2 2
49 0.506 secunde Correct! 2 2
50 0.47 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!