Detalii evaluare #54781410

Rezumat problemă

Într-o țară locuiesc n persoane. Anumite perechi de persoane se cunosc între ele și se cunosc aceste perechi. Relația de cunoaștere între două persoane este reciprocă.

În țară izbucnește o epidemie (nu este mortală, doar foarte contagioasă). Dacă persoana A este bolnavă și cunoaște persoana B, se va îmbolnăvi și aceasta, după o perioadă de incubație a bolii de 1 zi. Inițial sunt bolnave k persoane cunoscute. Se cere să se determine după câte zile sunt bolnave toate cele n persoane.

Detalii

Problema Epidemie Operații I/O epidemie.in/epidemie.out
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #54781410 Utilizator Costea Vlad (costea_vlad)
Fișier epidemie.cpp Dimensiune 1.38 KB
Data încărcării 08 Decembrie 2024, 17:02 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

epidemie.cpp:10:14: error: 'int time [1005]' redeclared as different kind of symbol
 int time[1005];

              ^
In file included from /usr/include/pthread.h:24:0,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/gthr-default.h:35,
                 from /usr/include/i386-linux-gnu/c++/4.8/bits/gthr.h:148,
                 from /usr/include/c++/4.8/ext/atomicity.h:35,
                 from /usr/include/c++/4.8/bits/ios_base.h:39,
                 from /usr/include/c++/4.8/ios:42,
                 from /usr/include/c++/4.8/istream:38,
                 from /usr/include/c++/4.8/fstream:38,
                 from epidemie.cpp:1:
/usr/include/time.h:192:15: error: previous declaration of 'time_t time(time_t*)'
 extern time_t time (time_t *__timer) __THROW;
               ^
epidemie.cpp: In function 'int main()':
epidemie.cpp:30:17: warning: pointer to a function used in arithmetic [-Wpointer-arith]
         time[nod]=1;

                 ^
epidemie.cpp:30:18: error: assignment of read-only location '*(time + ((sizetype)nod))'
         time[nod]=1;

                  ^
epidemie.cpp:30:18: error: cannot convert 'int' to 'time_t(time_t*)throw () {aka long int(long int*)throw ()}' in assignment
epidemie.cpp:36:18: warning: pointer to a function used in arithmetic [-Wpointer-arith]
         if(time[i]>maxi)    maxi=time[i];

                  ^
epidemie.cpp:36:20: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
         if(time[i]>maxi)    maxi=time[i];

                    ^
epidemie.cpp:36:40: warning: pointer to a function used in arithmetic [-Wpointer-arith]
         if(time[i]>maxi)    maxi=time[i];

                                        ^
epidemie.cpp:36:40: error: invalid conversion from 'time_t (*)(time_t*)throw () {aka long int (*)(long int*)throw ()}' to 'int' [-fpermissive]
epidemie.cpp: In function 'int bfs()':
epidemie.cpp:48:30: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             if(time[Queue[st]]+1<time[p->info] || time[p->info]==0)

                              ^
epidemie.cpp:48:32: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             if(time[Queue[st]]+1<time[p->info] || time[p->info]==0)

                                ^
epidemie.cpp:48:46: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             if(time[Queue[st]]+1<time[p->info] || time[p->info]==0)

                                              ^
epidemie.cpp:48:63: warning: pointer to a function used in arithmetic [-Wpointer-arith]
             if(time[Queue[st]]+1<time[p->info] || time[p->info]==0)

                                                               ^
epidemie.cpp:50:29: warning: pointer to a function used in arithmetic [-Wpointer-arith]
                 time[p->info]=time[Queue[st]]+1;

                             ^
epidemie.cpp:50:45: warning: pointer to a function used in arithmetic [-Wpointer-arith]
                 time[p->info]=time[Queue[st]]+1;

                                             ^
epidemie.cpp:50:47: warning: pointer to a function used in arithmetic [-Wpointer-arith]
                 time[p->info]=time[Queue[st]]+1;

                                               ^
epidemie.cpp:50:30: error: assignment of read-only location '*(time + ((sizetype)p->nod::info))'
                 time[p->info]=time[Queue[st]]+1;

                              ^
epidemie.cpp:50:30: error: cannot convert 'time_t (*)(time_t*)throw () {aka long int (*)(long int*)throw ()}' to 'time_t(time_t*)throw () {aka long int(long int*)throw ()}' in assignment
epidemie.cpp:57:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }

 ^

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