#2127
ninjago
După ce eroii ninja l-au învins pe Nadakhan, de ziua celor dispăruți Zane trebuia să păzească cele n
păpuși din muzeu. Între aceste păpuși există m
coridoare pe care se poate circula în ambele sensuri. Se garantează faptul că pe cele m
coridoare Zane poate ajunge la fiecare dintre cele n
păpuși. Skulkiu, având la dispoziție 5
tipuri de obstacole A
, B
, C
, D
, E
, încearcă să-l oprească pe Zane punând pe fiecare coridor câte 4
obstacole. Zane poate distruge obstacolele de tip A
, B
, C
și D
, dar nu poate să distrugă obstacolele de tipul E
. Pentru a distruge un obstacol de tipul A
arma lui Zane are nevoie de 1
unitate de energie, pentru a distruge un obstacol de tipul B
de 2
unități de energie, pentru a distruge un obstacol de tipul C
de 3
unități de energie, iar pentru a distruge un obstacol de tipul D
de 4
unități de energie. Datorită dispozitivului cu care Skulkiu amplasează obstacolele pe coridor, cele patru obstacole de pe acelaşi coridor au o adâncime din ce în ce mai mare, ceea ce implică faptul că pentru a distruge al doilea obstacol amplasat pe coridor este nevoie de 5
ori mai multă energie decât cea obișnuită, pentru a distruge cel de-al treilea obstacol amplasat pe coridor este nevoie de 25
ori mai multă energie decât cea obișnuită, iar pentru a distruge al patrulea obstacol amplasat pe acelaşi coridor este nevoie de 125
de ori mai multă energie decât cea obișnuită. Indiferent de sensul de parcurgere al coridorului de către Zane pentru a înlătura obstacolele, energia consumată este aceeaşi, aceasta depinzând doar de ordinea în care au fost amplasate obstacolele de către Skulkiu. Zane nu va înlătura obstacolele de pe toate coridoarele ci doar strictul necesar pentru a avea acces la fiecare păpușă. Zane dorește să-i lase pe ceilalți ninja să se antreneze așa că face în așa fel încât ajutorul pentru distrugerea obstacolelor de tip E
să fie minim și apoi ca el să utilizeze un număr minim de unități de energie. Pentru coridoarele pe care se află obstacole de tip E
Zane consumă energie doar pentru obstacolele de tip A
, B
, C
şi D
. Inițial Zane se află lângă păpușa 1
.
Cerințe:
n
păpuși poate ajunge Zane înainte de a cere ajutorul celorlalți ninja.n
păpuși și câte obstacole de tip E
sunt în total pe aceste coridoare.OJI 2017, Clasele XI-XII
Problema | ninjago | Operații I/O |
ninjago.in /ninjago.out
|
---|---|---|---|
Limita timp | 1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 32 MB
|
Id soluție | #42701842 | Utilizator | |
Fișier | ninjago.cpp | Dimensiune | 3.91 KB |
Data încărcării | 14 Martie 2023, 23:27 | Scor / rezultat | 66 puncte |
ninjago.cpp: In function 'int main()': ninjago.cpp:63:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (j = 0; j < s.length(); ++j) ^ ninjago.cpp:102:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (i = 0; i < adj[nod].size(); ++i) ^ ninjago.cpp:133:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (j = 0; j < s.length(); ++j) ^ ninjago.cpp:145:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (j = 0; j < s.length(); ++j) ^ ninjago.cpp:160:17: warning: unused variable 'cost' [-Wunused-variable] int cost = muchii[i].cost; ^ ninjago.cpp:51:24: warning: unused variable 'a' [-Wunused-variable] int c, n, m, i, j, a, b; ^ ninjago.cpp:51:27: warning: unused variable 'b' [-Wunused-variable] int c, n, m, i, j, a, b; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 2 | 2 | ||
1 | 0.02 secunde | OK. | 2 | 2 | ||
2 | 0.024 secunde | OK. | 2 | 2 | ||
3 | 0 secunde | OK. | 2 | 2 | ||
4 | 0 secunde | OK. | 2 | 2 | ||
5 | 0.028 secunde | OK. | 2 | 2 | ||
6 | 0 secunde | OK. | 2 | 2 | ||
7 | 0.024 secunde | OK. | 2 | 2 | ||
8 | 0.02 secunde | OK. | 2 | 2 | ||
9 | 0.024 secunde | OK. | 2 | 2 | ||
10 | 0 secunde | OK. | 4 | 4 | ||
11 | 0.02 secunde | OK. | 4 | 4 | ||
12 | 0.024 secunde | OK. | 4 | 4 | ||
13 | 0 secunde | OK. | 4 | 4 | ||
14 | 0 secunde | OK. | 4 | 4 | ||
15 | 0.028 secunde | OK. | 4 | 4 | ||
16 | 0 secunde | OK. | 4 | 4 | ||
17 | 0.024 secunde | OK. | 4 | 4 | ||
18 | 0.02 secunde | OK. | 4 | 4 | ||
19 | 0.028 secunde | OK. | 4 | 4 | ||
20 | 0 secunde | Raspuns gresit. | 3 | 0 | ||
21 | 0.032 secunde | Raspuns gresit. | 3 | 0 | ||
22 | 0.052 secunde | Raspuns gresit. | 3 | 0 | ||
23 | 0 secunde | Raspuns gresit. | 3 | 0 | ||
24 | 0 secunde | Raspuns gresit. | 3 | 0 | ||
25 | 0.06 secunde | Raspuns gresit. | 3 | 0 | ||
26 | 0 secunde | Raspuns gresit. | 3 | 0 | ||
27 | 0.056 secunde | Raspuns gresit. | 3 | 0 | ||
28 | 0.028 secunde | Raspuns gresit. | 3 | 0 | ||
29 | 0.06 secunde | Raspuns gresit. | 3 | 0 | ||
30 | 0 secunde | OK. | 2 | 2 | Exemplu | |
31 | 0 secunde | OK. | 4 | 4 | Exemplu | |
32 | 0 secunde | Raspuns gresit. | 4 | 0 | Exemplu | |
Punctaj total | 66 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema ninjago 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ă.