Detalii evaluare #37186790

Rezumat problemă

#865 Palat

Ileana Cosânzeana se mărită. În consecință a dat sfară-n țară și au venit mai mulți Feți-Frumoși, dornici să primească mâna fetei, împreună cu palatul în care locuiește. Acesta este alcătuit din n*m camere, dispuse sub forma unei matrice cu n linii și m coloane.

În anumite camere nu se poate intra, deoarece acolo se află zmei răi. În celelalte se poate intra; mai precis se poate trece dintr-o cameră în altă cameră dacă se învecinează pe linie sau pe coloană. În una dintre camere se află Ileana Cosânzeana, iar în alte camere se afla câte un Făt-Frumos. Aceștia pot trece dintr-o cameră în alta, cu condiția să nu intre într-o cameră care conține un zmeu. Trecerea dintr-o cameră în alta a unui Făt-Frumos durează un minut.

Alegerea celui care va primi mâna Ilenei se face pe principiul primul venit, primul servit (suntem la capitolul Coada). Mai precis, se va căsători cu Ileana Cosânzeana acel Făt Frumos care ajunge primul la ea. Dacă ajung la Ileana Cosânzeana mai mulți Feți-Frumoși în același timp, deoarece este interzisă poligamia, Ileana se va căsători cu Făt-Frumos care la început era situat cât mai jos (pe o linie cu indice cât mai mare) și cât mai la dreapta (pe o coloană cu indice cât mai mare).

Aflați poziția inițială a lui Făt-Frumos care va primi mâna fetei.

Detalii

Problema Palat Operații I/O palat.in/palat.out
Limita timp 0.5 secunde Limita memorie Total: 16 MB / Stivă 8 MB
Id soluție #37186790 Utilizator Chim Vladimir (MstrGreen)
Fișier palat.cpp Dimensiune 1.80 KB
Data încărcării 15 Iulie 2022, 14:56 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

palat.cpp: In function 'int main()':
palat.cpp:28:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("palat.in", "r", stdin);

                                    ^
palat.cpp:29:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("palat.out", "w", stdout);

                                      ^
palat.cpp:92:35: warning: 'finish_j' may be used uninitialized in this function [-Wmaybe-uninitialized]
     inversDrum(finish_i, finish_j);

                                   ^
palat.cpp:92:35: warning: 'finish_i' may be used uninitialized in this function [-Wmaybe-uninitialized]

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde OK. 20 20 Exemplu
2 0 secunde OK. 20 20
3 0 secunde OK. 20 20
4 0.028 secunde OK. 20 20
5 0.092 secunde OK. 20 20
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 Palat 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ă.