Detalii evaluare #22222853

Rezumat problemă

#1038 Zona2

Ionuţ pleacă în drumeţie într-o porţiune de teren de formă pătratică cu latura de N metri. O hartă a zonei are trasat un caroiaj care împarte zona în N*N pătrate unitate, cu latura de 1 metru. Astfel harta zonei are aspectul unui tablou pătratic cu N linii şi N coloane. Liniile şi coloanele sunt numerotate de la 1 la N. Elementele tabloului bidimensional corespund pătratelor unitate. Zona poate fi parcursă străbătând oricare dintre laturile pătratelor unitate cel mult o singură dată.

Ionuţ pleacă din punctul aflat în colţul din dreapta jos al pătratului unitate din linia X, coloana Y şi se deplasează făcând un pas (parcurgând o latură a unui pătrat unitate) în una din direcţiile Nord, Est, Sud, Vest. Pentru a reţine mai uşor traseul foloseşte următoarea codificare pentru cele 4 direcţii: 1 pentru deplasarea spre Nord, 2 pentru deplasarea spre Est, 3 pentru deplasarea spre Sud, respectiv 4 pentru deplasarea spre Vest.

Ajuns într-alt punct (colţ de pătrat unitate), Ionuţ continuă să se deplaseze fără a trece de mai multe ori pe aceeaşi latură a unui pătrat unitate.

Ionuţ se opreşte în momentul în care ajunge într-un punct prin care a mai trecut. Traseul străbătut între cele două treceri prin acelaşi punct delimitează o zonă de teren formată din pătrate unitate.

Dându-se linia X şi coloana Y corespunzătoare poziţiei de plecare a lui Ionuţ, dimensiunea zonei N, lungimea traseului L şi traseul determinaţi:
a) Numărul de paşi parcurşi între prima şi a doua trecere prin punctul de oprire.
b) Numărul de pătrate unitate interioare zonei delimitată de traseul străbătut între cele două treceri prin acelaşi punct.

OJI 2013, clasa a X-a

Detalii

Problema Zona2 Operații I/O zona2.in/zona2.out
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #22222853 Utilizator Pop Mariana (infolectii)
Fișier zona2.cpp Dimensiune 3.88 KB
Data încărcării 30 Martie 2020, 15:37 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

zona2.cpp: In function 'void InitializeEverything()':
zona2.cpp:157:26: warning: unused variable 'j' [-Wunused-variable]
    unsigned short int i, j;

                          ^
zona2.cpp: In function 'void ResetNewMatrix()':
zona2.cpp:52:23: warning: 'j' may be used uninitialized in this function [-Wmaybe-uninitialized]
         for (i = 1; j <= n * 2; j++) {

                       ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
2 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
3 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
4 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
5 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
6 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
7 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
8 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
9 0 secunde Cerinta a - corect. Cerinta b - corect. 10 10
10 0 secunde Cerinta a - corect. Cerinta b - corect. 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 Zona2 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ă.