Detalii evaluare #30575683

Rezumat problemă

#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:

  1. Precizați la câte dintre cele n păpuși poate ajunge Zane înainte de a cere ajutorul celorlalți ninja.
  2. Precizați pentru eliberarea câtor coridoare trebuie să ceară ajutor extern pentru a reuși să ajungă la toate cele n păpuși și câte obstacole de tip E sunt în total pe aceste coridoare.
  3. Precizați care este numărul minim de unități de energie utilizate.

Detalii

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 #30575683 Utilizator Francesco Martinut (imiplaceinfo)
Fișier ninjago.cpp Dimensiune 3.24 KB
Data încărcării 25 August 2021, 17:56 Scor / rezultat 100 puncte

Evaluare


Mesaj compilare

ninjago.cpp: In function 'void facem(int)':
ninjago.cpp:38:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0 ; i < a[x].size() ; i++)

                                   ^
ninjago.cpp: In function 'int main()':
ninjago.cpp:69:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0 ; i < muchie2.size() ; i++)

                                          ^
ninjago.cpp:71:17: warning: unused variable 'p' [-Wunused-variable]
             int p = muchie2[i].second.first;

                 ^
ninjago.cpp:72:17: warning: unused variable 'l' [-Wunused-variable]
             int l = muchie2[i].second.second;

                 ^
ninjago.cpp:98:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0 ; i < muchie.size() ; i++)

                                         ^

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0 secunde OK. 2 2
1 0.008 secunde OK. 2 2
2 0.012 secunde OK. 2 2
3 0 secunde OK. 2 2
4 0 secunde OK. 2 2
5 0.008 secunde OK. 2 2
6 0 secunde OK. 2 2
7 0.008 secunde OK. 2 2
8 0.008 secunde OK. 2 2
9 0.008 secunde OK. 2 2
10 0 secunde OK. 4 4
11 0.008 secunde OK. 4 4
12 0.008 secunde OK. 4 4
13 0 secunde OK. 4 4
14 0 secunde OK. 4 4
15 0.012 secunde OK. 4 4
16 0 secunde OK. 4 4
17 0.008 secunde OK. 4 4
18 0.008 secunde OK. 4 4
19 0.012 secunde OK. 4 4
20 0 secunde OK. 3 3
21 0.008 secunde OK. 3 3
22 0.008 secunde OK. 3 3
23 0 secunde OK. 3 3
24 0 secunde OK. 3 3
25 0.012 secunde OK. 3 3
26 0 secunde OK. 3 3
27 0.012 secunde OK. 3 3
28 0.012 secunde OK. 3 3
29 0.012 secunde OK. 3 3
30 0 secunde OK. 2 2 Exemplu
31 0 secunde OK. 4 4 Exemplu
32 0 secunde OK. 4 4 Exemplu
Punctaj total 100

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema ninjago face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.