#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 | #43963226 | Utilizator | |
Fișier | metrou.cpp | Dimensiune | 6.58 KB |
Data încărcării | 01 Iunie 2023, 13:59 | Scor / rezultat | 80 puncte |
metrou.cpp: In function 'void solve_dp()': metrou.cpp:52:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < chains.size(); i++) { ^ metrou.cpp:57:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int j = 1; j < chains[i].size(); j++) { ^ metrou.cpp:66:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int j = 2; j < chains[i].size(); j++) { ^ metrou.cpp:74:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int j = 1; j < chains[i].size()-1; j++) { ^ metrou.cpp:84:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int j = 2; j < chains[i].size()-1; j++) { ^ metrou.cpp:92:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < sp.size(); i++) { ^ metrou.cpp:104:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int j = 0; j < sp.size(); j++) { ^ metrou.cpp:105:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int k = 0; k < sp.size(); k++) { ^ metrou.cpp:117:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int j = 0; j < sp.size(); j++) { ^ metrou.cpp:132:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < chains.size(); i++) { ^ metrou.cpp: In function 'int main()': metrou.cpp:217:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < chains.size(); i++) { ^ metrou.cpp:245:60: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int k = 0; k < adj_list_sp[chains_reps[i][j]].size(); k++) { ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0.104 secunde | OK. | 10 | 10 | ||
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0 secunde | OK. | 10 | 10 | ||
5 | 0.004 secunde | Raspuns gresit. | 10 | 0 | ||
6 | 0.008 secunde | OK. | 10 | 10 | ||
7 | 0.028 secunde | OK. | 10 | 10 | ||
8 | 0.072 secunde | OK. | 10 | 10 | ||
9 | 0.104 secunde | OK. | 10 | 10 | ||
Punctaj total | 80 |
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ă.