#1188
În această poveste este vorba despre o casă cu mai multe camere. O cameră are forma unui pătrat de latură 1. Dacă două camere au un perete comun, atunci se poate trece dintr-o cameră în alta. Casa nu are neapărat formă dreptunghiulară.
O asemenea casă poate fi descrisă în povestea noastră în două moduri:
0 şi 1 în care există N valori egale cu 1, ce corespund camerelor, iar prima linie, ultima linie, prima coloană şi ultima coloană au cel puţin un element egal cu 1.N-1 perechi (a[i], b[i]) 1≤i<n în care a[i] din {1,2,…,i} şi b[i] din {N, S, E, V}. Camerele vor fi numerotate de la 1 la n. Perechea (a[i], b[i]) precizează poziţia camerei i+1 faţă de camera a[i]: E înseamnă la dreapta (est), N deasupra (nord), V la stânga (vest), S dedesubt (sud). Observaţi că pentru prima cameră nu există nicio precizare!
De exemplu, casa de mai sus poate fi descrisă de şirul (1 E) (2 E) (2 S) (3 S), adică a doua cameră e “lipită” la est de prima cameră, următoarea (a treia) la est de camera 2, a patra la sud de camera 2, iar ultima la sud de camera 3.
Cerința
| Problema | Casa | Operații I/O |
casa.in/casa.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 4 MB
/
Stivă 4 MB
|
| Id soluție | #64194709 | Utilizator | |
| Fișier | casa.cpp | Dimensiune | 3.24 KB |
| Data încărcării | 22 Aprilie 2026, 12:39 | Scor/rezultat | 80 puncte |
casa.cpp: In function ‘void fl(int)’: casa.cpp:28:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<bool>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 28 | if (col==mat[lin].size()-1) | ~~~^~~~~~~~~~~~~~~~~~~ casa.cpp:29:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<std::deque<bool> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 29 | for (int i=0; i<mat.size(); i++) mat[i].push_back(0); | ~^~~~~~~~~~~ casa.cpp:36:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<std::deque<bool> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 36 | if (lin==mat.size()-1) | ~~~^~~~~~~~~~~~~~ casa.cpp:39:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<bool>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 39 | for (int i=0; i<mat[lin].size(); i++) mat[lin+1].push_back(0); | ~^~~~~~~~~~~~~~~~ casa.cpp:48:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<std::deque<bool> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 48 | for (int i=0; i<mat.size(); i++) mat[i].push_front(0); | ~^~~~~~~~~~~ casa.cpp: In function ‘int main()’: casa.cpp:95:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<std::deque<bool> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i=0; i<mat.size(); i++) | ~^~~~~~~~~~~ casa.cpp:97:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::deque<bool>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 97 | for (int j=0; j<mat[i].size(); j++) | ~^~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | OK. | 10 | 10 | ||
| 2 | 0.001 secunde | OK. | 10 | 10 | ||
| 3 | 0.003 secunde | OK. | 10 | 10 | ||
| 4 | 0.004 secunde | Caught fatal signal 6 | 10 | 0 | ||
| 5 | 0.014 secunde | OK. | 10 | 10 | ||
| 6 | 0.015 secunde | Caught fatal signal 6 | 10 | 0 | ||
| 7 | 0.005 secunde | OK. | 10 | 10 | ||
| 8 | 0.005 secunde | OK. | 10 | 10 | ||
| 9 | 0.015 secunde | OK. | 10 | 10 | ||
| 10 | 0.009 secunde | OK. | 10 | 10 | ||
| Punctaj total | 80 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Casa 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ă.