#2042
episodul1
Cu ocazia sărbătoririi marii victorii de la ONI2017, cei 10 Bistrițeni au pornit la drum cu scopul de a-și întemeia o țară. După multe dezbateri, aceștia s-au hotărât să o numească Zoomba. Și au mers ei ce au mers, până au ajuns într-un ținut pustiu, iar atunci, marele Zoli a spus: “Și aici să fie întemeiată Zoomba!” (La început, Zoomba nu are niciun oraș). Iulia are sarcina de a construi orașele, iar Maria va construi drumurile ce vor conecta orașele. Astfel, se disting următoarele evenimente:
1
: Iulia construiește un nou oraș. Dacă ultimul oraș construit este orașul x
, atunci noul oraș va fi x + 1
(Dacă nu există niciun oraș în acel moment, atunci noul oraș construit va fi 1
).2 x y c
: Maria propune construcția unui drum bidirecțional ce leagă orașul x
de orașul y
de cost c
.3 x
: Zoli se întreabă care este costul minim pentru a lega un număr maxim de orașe (folosind drumurile propuse de Maria) cu scopul construirii unui județ (un județ este o grupare de orașe în care se poate ajunge din orice oraș în orice alt oraș) ce conține orașul x
.Scrieți un program care procesează M
evenimente de tipurile precizate mai sus, și afișează în fișierul de ieșire rezultatele evenimentelor de tipul 3
.
Problema | episodul1 | Operații I/O |
episodul1.in /episodul1.out
|
---|---|---|---|
Limita timp | 0.15 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
Id soluție | #22879699 | Utilizator | |
Fișier | episodul1.cpp | Dimensiune | 1.70 KB |
Data încărcării | 11 Mai 2020, 09:14 | Scor / rezultat | 80 puncte |
episodul1.cpp: In function 'int unionMD(int, int, long long int)': episodul1.cpp:35:1: warning: no return statement in function returning non-void [-Wreturn-type] } ^ episodul1.cpp: In function 'int main()': episodul1.cpp:48:9: warning: 'char* gets(char*)' is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations] gets(s); ^ episodul1.cpp:48:15: warning: 'char* gets(char*)' is deprecated (declared at /usr/include/stdio.h:638) [-Wdeprecated-declarations] gets(s); ^ episodul1.cpp:39:42: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("episodul1.in" , "r" , stdin); ^ episodul1.cpp:40:44: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("episodul1.out" , "w" , stdout); ^ episodul1.cpp:43:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%d\n" , &n); ^ episodul1.cpp:48:16: warning: ignoring return value of 'char* gets(char*)', declared with attribute warn_unused_result [-Wunused-result] gets(s); ^ episodul1.cpp:28:37: warning: 'c' may be used uninitialized in this function [-Wmaybe-uninitialized] cost[x] = cost[x] + cost[y] + c; ^ episodul1.cpp:42:15: note: 'c' was declared here long long c; ^ episodul1.cpp:8:19: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized] while(x != t[x]) ^ episodul1.cpp:41:25: note: 'y' was declared here int n , m , p , x , y , tx , ty , i , j , ok , aux; ^ episodul1.cpp:8:19: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized] while(x != t[x]) ^ episodul1.cpp:41:21: note: 'x' was declared here int n , m , p , x , y , tx , ty , i , j , ok , aux; ^ /tmp/cc5ZnZPG.o: In function \`main': episodul1.cpp:(.text.startup+0x95): warning: the \`gets' function is dangerous and should not be used.
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0 secunde | OK. | 10 | 10 | ||
5 | 0 secunde | OK. | 10 | 10 | ||
6 | 0.016 secunde | OK. | 10 | 10 | ||
7 | 0.012 secunde | OK. | 10 | 10 | ||
8 | 0.072 secunde | OK. | 10 | 10 | ||
9 | Depășit | Limita de timp depășită | 10 | 0 | ||
10 | Depășit | Limita de timp depășită | 10 | 0 | ||
Punctaj total | 80 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema episodul1 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ă.