#4357
Oxford
Premierul Marii Britanii, Rishi Sunak, a decis să reorganizeze structura administrativă a comitatului Oxfordshire. În Oxfordshire sunt prezente N
orașe numerotate de la 1
la N
, conectate prin M
autostrăzi (drumuri unidirecționale ce conectează două orașe). Rishi a hotărât ca toate orașele cu proprietatea că cetățenii tuturor celorlalte orașe pot ajunge în ele prin intermediul autostrăzilor să devină reședințe. Deoarece numărul de orașe și autostrăzi din Oxfordshire este foarte mare, Rishi vă cere ajutorul în rezolvarea a două probleme cheie.
1. Care sunt indicii orașelor reședință din Oxfordshire.
2. Care este distanța minimă de la fiecare oraș până la cea mai apropiată reședință de acel oraș.
Info-Oltenia 2023, individual 11-12
Problema | Oxford | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 128 MB
/
Stivă 64 MB
|
Id soluție | #54568423 | Utilizator | |
Fișier | oxford.cpp | Dimensiune | 3.36 KB |
Data încărcării | 02 Decembrie 2024, 18:27 | Scor / rezultat | Eroare de compilare |
oxford.cpp: In function 'void solve()': oxford.cpp:67:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < residences.size(); ++i) { ^ oxford.cpp:76:71: error: wrong number of template arguments (0, should be 1) priority_queue<pair<int, int>, vector<pair<int, int>>, greater<>> pq; ^ In file included from /usr/include/c++/4.8/string:48:0, from /usr/include/c++/4.8/bits/locale_classes.h:40, from /usr/include/c++/4.8/bits/ios_base.h:41, from /usr/include/c++/4.8/ios:42, from /usr/include/c++/4.8/ostream:38, from /usr/include/c++/4.8/iostream:39, from oxford.cpp:1: /usr/include/c++/4.8/bits/stl_function.h:222:12: error: provided for 'template<class _Tp> struct std::greater' struct greater : public binary_function<_Tp, _Tp, bool> ^ oxford.cpp:76:72: error: template argument 3 is invalid priority_queue<pair<int, int>, vector<pair<int, int>>, greater<>> pq; ^ oxford.cpp:76:77: error: invalid type in declaration before ';' token priority_queue<pair<int, int>, vector<pair<int, int>>, greater<>> pq; ^ oxford.cpp:81:48: error: invalid initialization of reference of type 'const Edge&' from expression of type 'int' for (const Edge& e : reverseGraph[i]) { ^ oxford.cpp:90:20: error: request for member 'push' in 'pq', which is of non-class type 'int' pq.push({0, i}); ^ oxford.cpp:95:20: error: request for member 'empty' in 'pq', which is of non-class type 'int' while (!pq.empty()) { ^ oxford.cpp:96:18: error: expected unqualified-id before '[' token auto [dist, node] = pq.top(); pq.pop(); ^ oxford.cpp:96:46: error: request for member 'pop' in 'pq', which is of non-class type 'int' auto [dist, node] = pq.top(); pq.pop(); ^ oxford.cpp:97:17: error: 'dist' was not declared in this scope if (dist > distances[node]) continue; ^ oxford.cpp:97:34: error: 'node' was not declared in this scope if (dist > distances[node]) continue; ^ oxford.cpp:99:43: error: 'node' was not declared in this scope for (const Edge& edge : graph[node]) { ^ oxford.cpp:100:31: error: 'dist' was not declared in this scope int newDist = dist + edge.weight; ^ oxford.cpp:103:24: error: request for member 'push' in 'pq', which is of non-class type 'int' pq.push({newDist, edge.to}); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Oxford 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ă.