#1069
Ubuntzei
Trei ubuntzei au hotărât ca anul acesta să petreacă ziua de 1 Mai pe malul Mării Negre împreună cu prietenii lor, motiv pentru care au pus la cale o excursie pe un traseu care să plece din oraşul lor Cluj-Napoca spre Vama Veche, unde nisipul îi aşteaptă.
În ţara ubuntzeilor există N
localităţi, numerotate de la 1
la N
, legate între ele prin M
şosele bidirecţionale de diferite lungimi. Localitatea de plecare a ubuntzeilor, oraşul Cluj-Napoca, este numerotată cu 1
, iar localitatea destinaţie, Vama Veche, cu N
. Între oricare două localităţi există cel mult o şosea. Fiecare şosea uneşte două localităţi distincte şi se poate călători între oricare două localităţi circulând numai pe şosele.
Prietenii ubuntzeilor locuiesc în K
localităţi distincte, diferite de Cluj-Napoca şi Vama Veche. Pentru a nu călători singuri, cei trei ubuntzei vor să treacă prin cele K
localităţi în care locuiesc prietenii lor, şi apoi, împreună cu aceştia, să-şi continue excursia către mare.
Nerăbdători să ajungă cât mai repede la destinaţie, ubuntzeii s-au hotărât să îşi stabilească un traseu de lungime minimă care să treacă prin toate cele K
localităţi.
Scrieţi un program care să determine, pentru ubuntzei, lungimea minimă L a unui traseu de la Cluj-Napoca la Vama Veche ce trece prin toate cele K localităţi.
OJI 2011, Clasele XI-XII
Problema | Ubuntzei | Operații I/O |
ubuntzei.in /ubuntzei.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 32 MB
/
Stivă 20 MB
|
Id soluție | #48057453 | Utilizator | |
Fișier | ubuntzei.cpp | Dimensiune | 3.75 KB |
Data încărcării | 14 Ianuarie 2024, 17:58 | Scor / rezultat | 100 puncte |
ubuntzei.cpp: In function 'void dijkstra2(int)': ubuntzei.cpp:69:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(i=0;i<L2[w].size();i++) ^ ubuntzei.cpp:41:11: warning: unused variable 'poz' [-Wunused-variable] int i,poz,c,j,sub,w; ^ ubuntzei.cpp:41:15: warning: unused variable 'c' [-Wunused-variable] int i,poz,c,j,sub,w; ^ ubuntzei.cpp: In function 'void dijkstra1(int)': ubuntzei.cpp:116:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(i=0;i<L[x.nod].size();i++) ^ ubuntzei.cpp:90:11: warning: unused variable 'poz' [-Wunused-variable] int i,poz,c,j,sub; ^ ubuntzei.cpp:90:15: warning: unused variable 'c' [-Wunused-variable] int i,poz,c,j,sub; ^ ubuntzei.cpp:90:17: warning: unused variable 'j' [-Wunused-variable] int i,poz,c,j,sub; ^ ubuntzei.cpp: In function 'int main()': ubuntzei.cpp:153:56: warning: suggest parentheses around '+' inside '<<' [-Wparentheses] vk[k+1]=n;sel[n][0]=1; sel[n][1]=k+1; nrs=(nrs|(1<<k+1)); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 5 | 5 | ||
3 | 0 secunde | OK. | 5 | 5 | ||
4 | 0 secunde | OK. | 5 | 5 | ||
5 | 0 secunde | OK. | 5 | 5 | ||
6 | 0 secunde | OK. | 5 | 5 | ||
7 | 0 secunde | OK. | 5 | 5 | ||
8 | 0 secunde | OK. | 5 | 5 | ||
9 | 0 secunde | OK. | 5 | 5 | ||
10 | 0.004 secunde | OK. | 5 | 5 | ||
11 | 0.012 secunde | OK. | 5 | 5 | ||
12 | 0.024 secunde | OK. | 5 | 5 | ||
13 | 0.028 secunde | OK. | 5 | 5 | ||
14 | 0.068 secunde | OK. | 5 | 5 | ||
15 | 0.2 secunde | OK. | 5 | 5 | ||
16 | 0.416 secunde | OK. | 5 | 5 | ||
17 | 0.412 secunde | OK. | 5 | 5 | ||
18 | 0.456 secunde | OK. | 5 | 5 | ||
19 | 0.46 secunde | OK. | 5 | 5 | ||
20 | 0.456 secunde | OK. | 5 | 5 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Ubuntzei 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ă.