Detalii evaluare #54492703

Rezumat problemă

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

ONI 2007, clasa a X-a

Detalii

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 Anghel Rares (RaresAnghel)
Fișier castel3.cpp Dimensiune 2.86 KB
Data încărcării 30 Noiembrie 2024, 09:33 Scor / rezultat Eroare de compilare

Evaluare


Mesaj 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);

                                ^

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