Detalii evaluare #46461545

Rezumat problemă

#718 Sah2

Mihai a primit de ziua sa un joc de şah special. Tabla jocului are forma pătrată, de dimensiune N dar unele poziţii sunt marcate ca obstacole şi ele nu pot fi ocupate cu piese. În plus, jocul său are o singură piesă, numită “nebun”. Două poziţii pe tablă sunt desemnate ca poziţie iniţială şi poziţie finală. Mihai vrea să determine o modalitate de a deplasa nebunul, cu un număr minim de mutări, astfel încât acesta să ajungă din poziţia iniţială în poziţia finală. Mihai va respecta regulile de mutare a nebunului la jocul de şah, adică din poziţia curentă nebunul se poate muta doar pe diagonală, în oricare dintre cele 4 direcţii, oricâte poziţii deodată dar fără a sări peste obstacole. În plus, Mihai are voie la o excepţie de la această regulă: îi este permis să execute cel mult două mutări după regula de avansare a calului pe tabla de şah.

Dată fiind configuraţia tablei de şah precum şi poziţiile iniţială şi finală ale piesei, se cere determinarea numărului minim de mutări pentru a deplasa piesa între cele două poziţii.

Lot Juniori, Resita, 2012

Detalii

Problema Sah2 Operații I/O sah2.in/sah2.out
Limita timp 0.3 secunde Limita memorie Total: 32 MB / Stivă 8 MB
Id soluție #46461545 Utilizator cap de ou (stefan_vilcescu)
Fișier sah2.cpp Dimensiune 1.68 KB
Data încărcării 14 Noiembrie 2023, 15:41 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

sah2.cpp: In function 'int main()':
sah2.cpp:28:23: error: converting to 'std::queue<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]'
     q.push({x1, y1, 0});

                       ^
sah2.cpp:39:57: error: converting to 'std::queue<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]'
                 q.push({newl, newc, get<2>(q.front())+1});

                                                         ^
sah2.cpp:47:61: error: converting to 'std::queue<std::tuple<int, int, int> >::value_type {aka std::tuple<int, int, int>}' from initializer list would use explicit constructor 'constexpr std::tuple< <template-parameter-1-1> >::tuple(_UElements&& ...) [with _UElements = {int&, int&, int}; <template-parameter-2-2> = void; _Elements = {int, int, int}]'
                     q.push({newl, newc, get<2>(q.front())+1});

                                                             ^

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