#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 | #48743572 | Utilizator | |
Fișier | ubuntzei.cpp | Dimensiune | 5.90 KB |
Data încărcării | 04 Februarie 2024, 10:38 | Scor / rezultat | Eroare de compilare |
ubuntzei.cpp: In function 'void Dijkstra(int, int)': ubuntzei.cpp:56:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int x=0;x<v[cur].size();++x) ^ ubuntzei.cpp: At global scope: ubuntzei.cpp:168:12: error: redefinition of 'std::ifstream f' ifstream f ("ubuntzei.in"); ^ ubuntzei.cpp:5:10: error: 'std::ifstream f' previously declared here ifstream f ("ubuntzei.in"); ^ ubuntzei.cpp:169:12: error: redefinition of 'std::ofstream g' ofstream g ("ubuntzei.out"); ^ ubuntzei.cpp:6:10: error: 'std::ofstream g' previously declared here ofstream g ("ubuntzei.out"); ^ ubuntzei.cpp:171:5: error: redefinition of 'int n' int n,m; ^ ubuntzei.cpp:8:5: error: 'int n' previously declared here int n,m; ^ ubuntzei.cpp:171:7: error: redefinition of 'int m' int n,m; ^ ubuntzei.cpp:8:7: error: 'int m' previously declared here int n,m; ^ ubuntzei.cpp:172:5: error: redefinition of 'int k' int k; ^ ubuntzei.cpp:9:5: error: 'int k' previously declared here int k; ^ ubuntzei.cpp:173:16: error: redefinition of 'int dist [25][25]' int dist[25][25]; ^ ubuntzei.cpp:10:5: error: 'int dist [25][25]' previously declared here int dist[25][25]; ^ ubuntzei.cpp:174:16: error: redefinition of 'int prieteni [25]' int prieteni[25]; ^ ubuntzei.cpp:11:5: error: 'int prieteni [25]' previously declared here int prieteni[25]; ^ ubuntzei.cpp:176:17: error: redefinition of 'int gasit [100005]' int gasit[100005]; ^ ubuntzei.cpp:13:5: error: 'int gasit [100005]' previously declared here int gasit[100005]; ^ ubuntzei.cpp:177:18: error: redefinition of 'int dp [18][300005]' int dp[18][300005]; ^ ubuntzei.cpp:14:5: error: 'int dp [18][300005]' previously declared here int dp[18][300005]; ^ ubuntzei.cpp:180:8: error: redefinition of 'struct muchie' struct muchie ^ ubuntzei.cpp:17:8: error: previous definition of 'struct muchie' struct muchie ^ ubuntzei.cpp:187:25: error: redefinition of 'std::vector<muchie> v [100005]' vector <muchie> v[100005]; ^ ubuntzei.cpp:24:17: error: 'std::vector<muchie> v [100005]' previously declared here vector <muchie> v[100005]; ^ ubuntzei.cpp:189:8: error: redefinition of 'struct el' struct el ^ ubuntzei.cpp:26:8: error: previous definition of 'struct el' struct el ^ ubuntzei.cpp:200:21: error: redefinition of 'std::priority_queue<el> Q' priority_queue <el> Q; ^ ubuntzei.cpp:37:21: error: 'std::priority_queue<el> Q' previously declared here priority_queue <el> Q; ^ ubuntzei.cpp:201:14: error: redefinition of 'int pret [2005]' int pret[2005]; ^ ubuntzei.cpp:38:5: error: 'int pret [2005]' previously declared here int pret[2005]; ^ ubuntzei.cpp: In function 'void Dijkstra(int, int)': ubuntzei.cpp:203:6: error: redefinition of 'void Dijkstra(int, int)' void Dijkstra(int inceput ,int catelea) ^ ubuntzei.cpp:40:6: error: 'void Dijkstra(int, int)' previously defined here void Dijkstra(int inceput ,int catelea) ^ ubuntzei.cpp:219:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int x=0;x<v[cur].size();++x) ^ ubuntzei.cpp: In function 'int Ciclu()': ubuntzei.cpp:243:5: error: redefinition of 'int Ciclu()' int Ciclu() ^ ubuntzei.cpp:80:5: error: 'int Ciclu()' previously defined here int Ciclu() ^ ubuntzei.cpp: In function 'int main()': ubuntzei.cpp:277:5: error: redefinition of 'int main()' int main() ^ ubuntzei.cpp:114:5: error: 'int main()' previously defined here int main() ^ ubuntzei.cpp: In function 'int Ciclu()': ubuntzei.cpp:110:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ ubuntzei.cpp: In function 'int Ciclu()': ubuntzei.cpp:273:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
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ă.