Pagini recente »
Diferențe pentru problema/jbb între reviziile 3 și 11
|
Diferențe pentru problema/jbb între reviziile 2 și 11
Diferențe pentru
problema/jbb între reviziile
#2 si
#11
Nu există diferențe între titluri.
Diferențe între conținut:
== include(page="template/taskheader" task_id="jbb") ==
Ana și Bogdan joacă un nou joc – JBB (Jocul „Borcane cu Bomboane”). Pe tabla de joc sunt plasate *N* borcane cu bomboane. Se știe câte bomboane se află în fiecare borcan: în borcanul i sunt Bi bomboane (1 ≤ *i* ≤ *N*).
Ana și Bogdan joacă un nou joc – JBB (Jocul „Borcane cu Bomboane”). Pe tabla de joc sunt plasate *N* borcane cu bomboane. Se știe câte bomboane se află în fiecare borcan: în borcanul *i* sunt *B[~i~]* bomboane (1 ≤ *i* ≤ *N*).
Ca de obicei, Ana începe jocul, iar apoi cei doi jucători mută alternativ. Fiind prima la mutare, Ana alege un borcan din care va lua toate bomboanele. Pe tabla de joc sunt trasate săgeți care unesc borcanele. Mai exact, de la fiecare borcan *i* pleacă o singură săgeată către un alt borcan *j*. Săgețile indică modul în care jucătorii se deplasează pe tabla de joc. Dacă există săgeată de la borcanul *i* la borcanul *j*, iar un jucător a luat bomboanele din borcanul *i*, atunci adversarul său e obligat să se deplaseze la borcanul *j*. Dacă în borcanul *j* va găsi bomboane, este obligat să le ia pe toate. Dacă borcanul *j* este gol, atunci adversarul poate să aleagă un alt borcan care conține bomboane și continuă jocul.
h2. Date de intrare
Fișierul de intrare $jbb.in$ ...
Fișierul de intrare $jbb.in$ conține pe prima linie numărul natural *N*, reprezentând numărul de borcane. Pe cea de a doua linie sunt *N* numere naturale nenule separate prin câte un spațiu *B[~1~]* *B[~2~]* ... *B[~N~]* reprezentând numărul de bomboane din fiecare borcan. Pe cea de a treia linie se află *N* numere naturale separate prin spațiu *S[~1~]* *S[~2~]* ... *S[~N~]*, unde *S[~i~]* reprezintă borcanul indicat de săgeata care plecă de la borcanul *i* ([*1*] ≤ *i* ≤ *N*).
h2. Date de ieșire
În fișierul de ieșire $jbb.out$ ...
Fișierul de ieșire $jbb.out$ va conține o singură linie pe care va fi scris un număr natural reprezentând numărul maxim de bomboane pe care Ana le poate obține.
h2. Restricții
* $... ≤ ... ≤ ...$
* 1 ≤ *N* ≤ 10000
* 1 ≤ *B[~i~]* ≤ 1000, pentru orice 1 ≤ *i* ≤ *N*
* 1 ≤ *S[~i~]* ≤ *N*, *S[~i~]* ≠ *S[~j~]*, pentru orice 1 ≤ *i* < *j* ≤ *N*
h2. Exemplu
table(example).
|_. jbb.in |_. jbb.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|_. jbb.in |_. jbb.out |_. Explicație |
| 8
%{color:red}3% %{color:blue}1% %{color:blue}8% %{color:red}20% %{color:red}7% %{color:blue}5% %{color:red}6% %{color:blue}10%
6 5 7 4 3 8 2 1
| 36
| *Ana mută prima și alege borcanul 7 și ia 6 bomboane.*
Bogdan este obligat să meargă la borcanul 2 și ia 1 bomboane.
*Ana este obligată să meargă la borcanul 5 și ia 7 bomboane.*
Bogdan e obligat să meargă la borcanul 3 și ia 8 bomboane.
Ana e obligată să meargă la borcanul 7, dar acesta este gol, prin urmare
poate alege un alt borcan plin.
*Ana alege borcanul 4, de unde ia 20 de bomboane.*
Bogdan e obligat să meargă tot la borcanul 4, dar acesta este deja gol, ca
urmare poate alege un alt borcan plin. Bogdan alege borcanul 8 de unde
ia 10 bomboane.
*Ana este obligată să meargă la borcanul 1 de unde ia 3 bomboane.*
Bogdan e obligat să meargă la borcanul 6 de unde ia 5 bomboane.
Jocul s-a încheiat, fiindcă toate borcanele au fost golite.
Ana a obținut în total: 6+7+20+3=36 bomboane
|
h3. Explicație
...
== include(page="template/taskfooter" task_id="jbb") ==
Nu există diferențe între securitate.