#3404
castel3
Înspăimântătorii tăi luptători au răpit-o pe Prinţesa Ghiocela şi au închis-o în castelul tău de pe vârful Muntelui Pleşuv. Deoarece eşti un geniu malefic, te-ai hotărât să îi oferi prinţesei iluzia unei şanse de evadare.
Castelul tău are forma unui caroiaj cu M
linii şi N
coloane. Cele M x N
celule ale castelului sunt numerotate de la 1
la M x N
în ordinea parcurgerii caroiajului pe linii de sus în jos, iar pe aceeaşi linie în ordinea coloanelor de la stânga la dreapta. În fiecare dintre celulele castelului ai pus câte o cheie, mai precis celula i
conţine cheia cu numărul i
. Evident, pentru a intra într-o cameră, prinţesa are nevoie de o anume cheie care permite deschiderea acesteia. Mai mult, dintr-o cameră prinţesa se poate deplasa într-un moment numai într-una dintre cele maximum patru camere adiacente pe orizontală şi verticală, doar dacă deţine cheia necesară deschiderii sale. Odată ce a intrat într-o cameră şi a obţinut o cheie, prinţesa o păstrează şi poate să o utilizeze ori de câte ori doreşte. Deşi eşti convins că prinţesa nu va scăpa din castel, eşti curios să afli câte dintre cele M x N
camere îi sunt accesibile. Date fiind dimensiunile castelului, camera în care se află iniţial prinţesa şi cheile necesare deschiderii fiecăreia dintre camere, află răspunsul la această întrebare presantă.
Problema | castel3 | Operații I/O |
castel.in /castel.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #54492703 | Utilizator | |
Fișier | castel3.cpp | Dimensiune | 2.86 KB |
Data încărcării | 30 Noiembrie 2024, 09:33 | Scor / rezultat | Eroare de compilare |
castel3.cpp:62:2: error: stray '#' in program }#include <cstdio> ^ castel3.cpp:62:3: error: 'include' does not name a type }#include <cstdio> ^ castel3.cpp:71:14: error: redefinition of 'const int di []' const int di[] = {-1,+1, 0, 0}; ^ castel3.cpp:10:11: error: 'const int di [4]' previously defined here const int di[] = {-1,+1, 0, 0}; ^ castel3.cpp:72:14: error: redefinition of 'const int dj []' const int dj[] = { 0, 0,-1,+1}; ^ castel3.cpp:11:11: error: 'const int dj [4]' previously defined here const int dj[] = { 0, 0,-1,+1}; ^ castel3.cpp:74:5: error: redefinition of 'int N' int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:13:5: error: 'int N' previously declared here int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:74:8: error: redefinition of 'int M' int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:13:8: error: 'int M' previously declared here int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:74:11: error: redefinition of 'int K' int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:13:11: error: 'int K' previously declared here int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:74:28: error: redefinition of 'int A [180][180]' int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:13:14: error: 'int A [180][180]' previously declared here int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:74:44: error: redefinition of 'int Q [32400]' int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:13:31: error: 'int Q [32400]' previously declared here int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:74:47: error: redefinition of 'int Res' int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:13:47: error: 'int Res' previously declared here int N, M, K, A[MAX_N][MAX_N], Q[MAX_N*MAX_N], Res; ^ castel3.cpp:75:20: error: redefinition of 'char U [180][180]' char U[MAX_N][MAX_N], key[MAX_N*MAX_N]; ^ castel3.cpp:14:6: error: 'char U [180][180]' previously declared here char U[MAX_N][MAX_N], key[MAX_N*MAX_N]; ^ castel3.cpp:75:38: error: redefinition of 'char key [32400]' char U[MAX_N][MAX_N], key[MAX_N*MAX_N]; ^ castel3.cpp:14:23: error: 'char key [32400]' previously declared here char U[MAX_N][MAX_N], key[MAX_N*MAX_N]; ^ castel3.cpp:76:33: error: redefinition of 'std::vector<int> key_list [32400]' vector<int> key_list[MAX_N*MAX_N]; ^ castel3.cpp:15:13: error: 'std::vector<int> key_list [32400]' previously declared here vector<int> key_list[MAX_N*MAX_N]; ^ castel3.cpp: In function 'int main()': castel3.cpp:78:5: error: redefinition of 'int main()' int main(void) ^ castel3.cpp:17:5: error: 'int main()' previously defined here int main(void) ^ castel3.cpp: In function 'int main()': castel3.cpp:22:29: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen(FIN, "r", stdin); ^ castel3.cpp:23:31: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen(FOUT, "w", stdout); ^ castel3.cpp:25:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d %d", &N, &M, &K); ^ castel3.cpp:29:32: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", A[i]+j); ^ castel3.cpp: In function 'int main()': castel3.cpp:83:29: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen(FIN, "r", stdin); ^ castel3.cpp:84:31: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen(FOUT, "w", stdout); ^ castel3.cpp:86:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d %d %d", &N, &M, &K); ^ castel3.cpp:90:32: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d", A[i]+j); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema castel3 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ă.