#1199
Metrou
Această problemă este dedicată celor care așteaptă metroul cu cea mai mare ardoare: locuitorii din Drumul Taberei.
Se dă planul unei rețele de metrou cu N
stații și M
tuneluri bidirecționale între stații. Două stații de metrou se numesc vecine dacă există un tunel între ele în acest plan. Fiecare stație i
are asociat un profit p[i]
dat.
Henry a fost recent promovat dintr-un post de angajat al departamentului de curățenie pe postul de project manager al firmei. Deoarece nu există fonduri pentru construirea întregii rețele de metrou, Henry trebuie să aleagă o submulțime de stații care vor fi construite, astfel încât oricare două stații alese să nu fie vecine în planul inițial. Pentru a-și păstra poziția în companie, suma profiturilor stațiilor alese în această submulțime trebuie să fie maximă.
Dându-se N
, M
, profiturile aduse de fiecare din cele N
stații și planul inițial al rețelei, să se determine suma maximă a profiturilor stațiilor pe care le poate alege Henry astfel încât oricare două stații alese să nu fie vecine în planul inițial.
ONI 2015, Clasele XI-XII
Problema | Metrou | Operații I/O |
metrou.in /metrou.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 16 MB
|
Id soluție | #53028242 | Utilizator | |
Fișier | metrou.cpp | Dimensiune | 5.80 KB |
Data încărcării | 15 Octombrie 2024, 21:24 | Scor / rezultat | Eroare de compilare |
metrou.cpp: In lambda function: metrou.cpp:88:17: error: 'chain' was not declared in this scope int L = chain.nodes.size(); ^ metrou.cpp:92:32: error: 'nodes' was not declared in this scope dp_selected[0] = p[nodes[0]]; ^ metrou.cpp:101:59: error: 'nodes' was not declared in this scope dp_selected[i] = dp_not_selected[i-1] + p[nodes[i]]; ^ metrou.cpp:105:59: error: 'nodes' was not declared in this scope dp_selected[i] = dp_not_selected[i-1] + p[nodes[i]]; ^ metrou.cpp: In function 'int main()': metrou.cpp:123:13: warning: unused variable 'idx_u' [-Wunused-variable] int idx_u = (u == -1) ? -1 : special_map[u]; ^ metrou.cpp:124:13: warning: unused variable 'idx_v' [-Wunused-variable] int idx_v = (v == -1) ? -1 : special_map[v]; ^ metrou.cpp:167:22: warning: unused variable 'conflict' [-Wunused-variable] bool conflict = false; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Metrou 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ă.