#2893
modernizare
Primăria din Iași a hotărât să modernizeze șoselele din localitate. O șosea este o porțiune de drum care unește două intersecții. Firma constructoare a făcut un studiu pentru a determina costurile pentru fiecare șosea. Fondurile sunt limitate, astfel că în prima fază vor fi modernizate doar drumurile din apropierea Palas-ului, care se află la intersecția cu numărul 1
. Mai precis: orice șosea modernizată trebuie sa fie cel puțin la fel de aproape de Palas ca orice șosea ce nu va fi modernizată.
Lungimea drumului dintre două intersecții a
și b
este numărul cel mai mic de intersecții ce trebuie parcurse pentru a ajunge de la a
la b
. Șoseaua (a, b)
este mai aproape de Palas față de șoseaua (c, d)
dacă lungimea drumului de la Palas până la cea mai apropiată intersecție dintre a
și b
este mai mică decât până la cea mai apropiată intersecție dintre c
și d
. Dacă lungimile drumurilor până la cele mai apropiate intersecții sunt egale, se compară lungimile drumurilor până la celelalte două intersecții. De exemplu dacă pentru șoselele (4, 7)
și (3, 5)
avem distanțele de la Palas până la intersecțiile: 3
, 4
, 5
, 7
egale cu: 10
, 10
, 10
, 11
în această ordine, atunci (3, 5)
e mai aproape de Palas față de (4, 7)
deoarece distanțele minime sunt ambele egale cu 10
dar distanța până la intersecția 3
este tot 10
, mai mică față de distanța până la intersecția 7
care este 11
. Dacă nu există cale de acces de la Palas la o intersecție a atunci șoselele legate de a nu vor fi modernizate.
Cunoscând: N
– numărul de intersecții din oraș codificate prin numere naturale din mulțimea 1..N
, M
– numărul de șosele și șoselele împreună cu costul de modernizare, și F
– fondurile de care dispune primăria, să se afle K
– numărul maxim de șosele care pot fi modernizate.
Olimpiada Municipală Iași, clasele XI-XII
Problema | modernizare | Operații I/O |
modernizare.in /modernizare.out
|
---|---|---|---|
Limita timp | 2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 1 MB
|
Id soluție | #23734508 | Utilizator | |
Fișier | modernizare.cpp | Dimensiune | 3.75 KB |
Data încărcării | 21 August 2020, 23:24 | Scor / rezultat | 100 puncte |
modernizare.cpp: In function 'int bfs()': modernizare.cpp:121:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for( int i = 0; i < v[1].size(); i++ ) ^ modernizare.cpp:140:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for( int a = 0; a < v[q[i]].size(); a++ ) ^ modernizare.cpp:154:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for( int i = 0; i < v[q[p]].size(); i++ ) ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 10 | 10 | Exemplu | |
1 | 0 secunde | OK. | 10 | 10 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0.016 secunde | OK. | 10 | 10 | ||
4 | 0.036 secunde | OK. | 10 | 10 | ||
5 | 0.068 secunde | OK. | 10 | 10 | ||
6 | 0.168 secunde | OK. | 10 | 10 | ||
7 | 0 secunde | OK. | 10 | 10 | ||
8 | 0.004 secunde | OK. | 10 | 10 | ||
9 | 0.028 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema modernizare 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ă.