Detalii evaluare #42224924

Rezumat problemă

#2894 Barlog

Este anul 2019, dar Zmeul-Cel-Rău și Făt-Frumos luptă în continuare. Zmeul l-a prins pe Făt-Frumos şi l-a închis în una dintre camerele bârlogului său. Un bârlog de zmeu are forma unui tablou bidimensional, în care camerele sunt plasate sub forma a n linii și m coloane. Vom numerota liniile de la 1 la n, iar coloanele de la 1 la m, astfel că fiecare cameră poate fi identificată prin numărul liniei și al coloanei pe care se află.

Orice cameră are patru pereți și câte o ușă pe fiecare perete prin care poate comunica cu camerele învecinate. Mai exact, camera de pe linia i și coloana j poate comunica cu camerele (i-1,j), (i,j+1), (i+1,j), (i,j-1) (desigur, dacă acestea există). Fiecare cameră are asociat un cod. Ușile din orice cameră se pot deschide cu o cartelă magnetică. Dacă codul camerei este un subșir al cuvântului memorat pe cartela magnetică, atunci ușile din camera respectivă se vor deschide folosind cartela. Ileana Cosânzeana a reușit să-i trimită lui Făt-Frumos o cartelă magnetică.

Scrieți un program care rezolvă următoarele două cerințe:
1. determină numărul de camere în care ar putea ajunge Făt-Frumos folosind cartela primită de la Ileana Cosânzeana;
2. determină numărul minim de camere prin care trece Făt-Frumos pentru a ieși din bârlogul zmeului (adică poate deschide ușa unei camere prin care ajunge în exteriorul bârlogului).

Olimpiada Municipală Iași, clasa a X-a

Detalii

Problema Barlog Operații I/O barlog.in/barlog.out
Limita timp 0.1 secunde Limita memorie Total: 4 MB / Stivă 2 MB
Id soluție #42224924 Utilizator Seracovanu Edward (CuteNoob213)
Fișier barlog.cpp Dimensiune 1.44 KB
Data încărcării 23 Februarie 2023, 19:24 Scor / rezultat 20 puncte

Evaluare


Mesaj compilare

barlog.cpp: In function 'int good(std::string)':
barlog.cpp:14:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 for(;i < str.size(); ++i){

                   ^
barlog.cpp:18:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 if(j >= a.size() - 1)

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

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

                                         ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
1 0 secunde Raspuns gresit. 10 0
2 0 secunde OK. 10 10
3 0 secunde Raspuns gresit. 10 0
4 0 secunde Raspuns gresit. 10 0
5 0 secunde Raspuns gresit. 10 0
6 0 secunde Raspuns gresit. 10 0
7 0 secunde Raspuns gresit. 10 0
8 0 secunde Raspuns gresit. 10 0
9 0 secunde Raspuns gresit. 10 0
10 0 secunde OK. 5 5 Exemplu
11 0 secunde OK. 5 5 Exemplu
Punctaj total 20

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