#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 | #51576591 | Utilizator | |
Fișier | ubuntzei.cpp | Dimensiune | 2.19 KB |
Data încărcării | 15 Iulie 2024, 01:51 | Scor / rezultat | Eroare de compilare |
ubuntzei.cpp: In function 'int main()': ubuntzei.cpp:84:55: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] dp[j][i]=min(dp[j][i],dp[j-1<<(i-1)][p]); ^ ubuntzei.cpp:9:14: warning: overflow in implicit constant conversion [-Woverflow] #define INFF 4000000000000000000 ^ ubuntzei.cpp:86:14: note: in expansion of macro 'INFF' int minn=INFF; ^ ubuntzei.cpp:88:30: warning: suggest parentheses around '-' inside '<<' [-Wparentheses] minn=min(minn,dp[1<<k-1][i]+distn[ma[i]]); ^ ubuntzei.cpp:88:49: error: no matching function for call to 'min(int&, long long int)' minn=min(minn,dp[1<<k-1][i]+distn[ma[i]]); ^ ubuntzei.cpp:88:49: note: candidates are: In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from ubuntzei.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&) min(const _Tp& __a, const _Tp& __b) ^ /usr/include/c++/4.8/bits/stl_algobase.h:193:5: note: template argument deduction/substitution failed: ubuntzei.cpp:88:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') minn=min(minn,dp[1<<k-1][i]+distn[ma[i]]); ^ In file included from /usr/include/c++/4.8/bits/char_traits.h:39:0, from /usr/include/c++/4.8/ios:40, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from ubuntzei.cpp:1: /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare) min(const _Tp& __a, const _Tp& __b, _Compare __comp) ^ /usr/include/c++/4.8/bits/stl_algobase.h:239:5: note: template argument deduction/substitution failed: ubuntzei.cpp:88:49: note: deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int') minn=min(minn,dp[1<<k-1][i]+distn[ma[i]]); ^
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ă.