Detalii evaluare #48938769

Rezumat problemă

#1761 Brutar

Renumitul nostru brutar a avut azi noapte un vis tare ciudat: acesta trăia într-un univers paralel în care nu omul îl mănâncă pe blat ci blatul îl mănâncă pe om… (eh, poate nu chiar atât de paralel). Astfel, brutarul nostru a fost atacat de blatul pe care tocmai îl pregătise (pentru prăjituri, evident) și a încercat să scape. Acesta a ieșit din brutărie și a ajuns în fața unui câmp de formă dreptunghiulară, cu dimensiunile cunoscute, ce poate fi împărțit în celule elementare cu latura de o unitate (exact ca o matrice!). Acesta poate intra pe câmp prin orice celulă a primei linii și trebuie să ajungă în orice celulă a ultimei linii (blatul se va întări până va ajunge acolo). Unele celule îi sunt inaccesibile din cauza diverselor obstacole (pietre, pomi, gropi,etc.)

Brutarul nostru se poate deplasa în 6 moduri:

  • Din căsuța curentă în cele adiacente ( Nord, Vest, Sud, Est )
  • Două mișcări speciale ce pot varia.

Mutările speciale vor fi citite din fișier și o mutare se va codifica astfel: xA yB, unde x și y sunt numere naturale nenule iar A și B sunt două caractere ce codifică direcția (A poate fi 'N' sau 'S' de la Nord respectiv Sud iar B poate fi ‘E’ sau ‘V’ de la Est respectiv Vest)

O mutare specială se poate face dacă celula destinație nu este ocupată de un obstacol și dacă nu implică ieșirea brutarului din matrice.

Brutarul vă roagă să îi specificați un traseu cu număr minim de celule parcurse, ce pornește de pe prima linie și se termină pe ultima linie, pentru a nu fi blătuit (mâncat de blat).

Detalii

Problema Brutar Operații I/O brutar.in/brutar.out
Limita timp 0.1 secunde Limita memorie Total: 16 MB / Stivă 4 MB
Id soluție #48938769 Utilizator Visan David (Flick1x)
Fișier brutar.cpp Dimensiune 3.19 KB
Data încărcării 09 Februarie 2024, 21:54 Scor / rezultat 90 puncte

Evaluare


Mesaj compilare

brutar.cpp: In function 'int main()':
brutar.cpp:100:22: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if(Do(x - 1,y) && dp[x - 1][y] + 1 == dp[x][y]){

                      ^
brutar.cpp:100:38: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
         if(Do(x - 1,y) && dp[x - 1][y] + 1 == dp[x][y]){

                                      ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde Corect! 10 10
1 0 secunde Corect! 10 10
2 0.004 secunde Corect! 10 10
3 0.02 secunde Corect! 10 10
4 0.04 secunde Corect! 10 10
5 0.076 secunde Corect! 10 10
6 0.072 secunde Corect! 10 10
7 0.096 secunde Corect! 10 10
8 Depășit Limita de timp depășită 10 0
9 0.072 secunde Corect! 10 10
Punctaj total 90

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