#2894
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
| 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 | #62428323 | Utilizator | |
| Fișier | barlog.cpp | Dimensiune | 1.68 KB |
| Data încărcării | 21 Ianuarie 2026, 10:56 | Scor/rezultat | Eroare de compilare |
barlog.cpp: In function 'void citire()': barlog.cpp:11:5: error: 'fin' was not declared in this scope fin >> C >> n >> m; ^ barlog.cpp: In function 'void subsir(int, int)': barlog.cpp:38:23: error: 'strlen' was not declared in this scope int len=strlen(cuv),ap[27]={0},k=0; ^ barlog.cpp:41:9: error: 'ap' was not declared in this scope ap[cuv[i]-'a']++; ^ barlog.cpp:43:12: error: 'ap' was not declared in this scope if(ap[i]>0) ^ barlog.cpp:49:24: error: 'substr' was not declared in this scope if(substr(x,s[i][j])!=NULL) ^ barlog.cpp: In function 'void numerizare()': barlog.cpp:59:29: error: invalid operands of types 'void' and 'int' to binary 'operator==' if(subsir(i,j)==1) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Barlog face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
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ă.