#884
Se consideră o clădire de formă dreptunghiulară, formată din n*m
camere dispuse sub forma unei matrice cu n
linii și m
coloane. Anumite camere sunt ocupate şi nu pot fi vizitate, celelalte sunt libere și pot fi vizitate. Dintr-o cameră se poate trece în altă cameră dacă ambele sunt libere și se învecinează pe linie sau pe coloană.
În anumite camere sunt paznici. Din motive de securitate, paznicii se pot deplasa din camera inițială în anumite camere libere din apropiere, dar fără a se îndepărta la o distanță mai mare decât o valoare cunoscută. Fiecare paznic va verifica periodic camerele libere în care poate ajunge.
Să se determine numărul de camere din clădire care nu sunt verificate de niciun paznic.
Problema | Paznici | Operații I/O |
![]() paznici.in /paznici.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #57628352 | Utilizator | |
Fișier | paznici.cpp | Dimensiune | 1.54 KB |
Data încărcării | 08 Aprilie 2025, 11:53 | Scor / rezultat | Eroare de compilare |
paznici.cpp:1:20: warning: extra tokens at end of #include directive [enabled by default] #include <fstream> #define N 205 using namespace std; ^ paznici.cpp:3:1: error: 'ifstream' does not name a type ifstream fin("paznici.in"); ofstream fout("paznici.out"); ^ paznici.cpp:3:29: error: 'ofstream' does not name a type ifstream fin("paznici.in"); ofstream fout("paznici.out"); ^ paznici.cpp:5:23: error: 'N' was not declared in this scope int n, m, p; char mat[N][N]; // matricea initiala int viz[N][N]; // camerele verificate de cel putin un paznic int dist[N][N]; // distanta fata de paznicul curent int dl[] = {-1, 1, 0, 0}; int dc[] = {0, 0, -1, 1}; ^ paznici.cpp:5:26: error: 'N' was not declared in this scope int n, m, p; char mat[N][N]; // matricea initiala int viz[N][N]; // camerele verificate de cel putin un paznic int dist[N][N]; // distanta fata de paznicul curent int dl[] = {-1, 1, 0, 0}; int dc[] = {0, 0, -1, 1}; ^ paznici.cpp:9:11: error: 'N' was not declared in this scope Pozitie C[N * N]; int pr, ul; ^ paznici.cpp:9:15: error: 'N' was not declared in this scope Pozitie C[N * N]; int pr, ul; ^ paznici.cpp: In function 'void Lee(int, int, int)': paznici.cpp:11:54: error: 'C' was not declared in this scope void Lee(int li, int ci, int dmax) { pr = 1; ul = 1; C[1] = {li, ci}; ^ paznici.cpp:15:9: error: 'dist' was not declared in this scope dist[i][j] = -1; ^ paznici.cpp:17:1: error: 'dist' was not declared in this scope dist[li][ci] = 0; ^ paznici.cpp:18:1: error: 'viz' was not declared in this scope viz[li][ci] = 1; ^ paznici.cpp:26:22: error: 'dl' was not declared in this scope int lv = l + dl[k]; ^ paznici.cpp:27:22: error: 'dc' was not declared in this scope int cv = c + dc[k]; ^ paznici.cpp:30:13: error: 'mat' was not declared in this scope mat[lv][cv] == '-' && dist[lv][cv] == -1 && dist[l][c] < dmax) { ^ paznici.cpp: In function 'int main()': paznici.cpp:41:14: error: 'fin' was not declared in this scope int main() { fin >> n >> m >> p; ^ paznici.cpp:45:16: error: 'mat' was not declared in this scope fin >> mat[i][j]; ^ paznici.cpp:50:9: error: 'mat' was not declared in this scope if (mat[x][y] == '-') { ^ paznici.cpp:58:13: error: 'mat' was not declared in this scope if (mat[i][j] == '-' && viz[i][j] == 0) ^ paznici.cpp:58:33: error: 'viz' was not declared in this scope if (mat[i][j] == '-' && viz[i][j] == 0) ^ paznici.cpp:61:1: error: 'fout' was not declared in this scope fout << nevizitate << "\n"; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Paznici 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ă.