joc

Time limit: 0.1s Memory limit: 2MB Input: joc.in Output: joc.out

Gigel, pasionat de jocuri de cărţi, dar şi de informatică, îşi propune să realizeze un program care să simuleze un joc de cărţi între doi jucători AA şi BB după următoarele reguli:

  • jocul se desfăşoară sub forma unei succesiuni de mutări alternative ale celor doi jucători; numărul acestor mutări este stabilit la începutul jocului;
  • iniţial, ambii jucători primesc acelaşi număr de cărţi, într-o anumită ordine; numărul maxim de cărţi primite de un jucător este 1 0001 \ 000;
  • printr-o mutare se înţelege punerea unei cărţi pe masă de către unul dintre jucători;
  • jucătorii pun alternativ, pe masă, câte o carte dintre cărţile primite, în ordinea în care le-au primit;
  • în momentul în care un jucător pune pe masă o carte având aceeaşi valoare cu a uneia deja existentă pe masă, acest jucător va lua toate cărţile, aflate pe masă între aceste două cărţi, inclusiv ele, în ordinea inversă faţă de cum au fost puse pe masa de joc; cărţile astfel luate de pe masă sunt puse în teancul de cărţi ale respectivului jucător, după ultima lui carte;
  • câştigă jucătorul care rămâne fără nici o carte în mână, chiar dacă numărul de mutări efectuate până atunci este mai mic decât numărul total de mutări; jocul se încheie indecis dacă după numărul de mutări stabilit ambii jucători mai au cărţi în mână.

Cerinţă

Scrieţi un program care să determine situaţia partidei după nn mutări. Prin situaţia partidei înţelegem:

  • identificarea câştigătorului AA sau BB;
  • identificarea cărţilor pe care le are cel care a pierdut partida, sau în caz indecis a cărţilor celor doi jucători la sfârşitul celor n mutări, precum şi identificarea cărţilor de pe masă, dacă acestea există.

Date de intrare

Fişierul de intrare joc.in are următorul format:

  • pe prima linie o valoare nn reprezentând numărul de mutări
  • pe linia a doua sunt date separate prin spaţiu cărţile jucătorului AA. Şirul cărţilor acestuia se termină cu valoarea 00 care nu face parte dintre cărţile lui;
  • pe linia a treia a fişierului de intrare sunt scrise după acelaşi format cărţile jucătorului BB.

Date de ieșire

Fişierul de ieşire joc.out va conţine trei linii conform următoarelor cazuri posibile:

Câștigă jucătorul AA Câștigă jucătorul BB Partidă indecisă
AA cărțile lui AA cărțile lui AA
cărțile lui BB BB cărțile lui BB
cărțile de pe masă cărțile de pe masă cărțile de pe masă

Dacă pe masă nu sunt cărţi se va afişa valoarea 00 pe linia a treia.

Restricții și precizări

  • 1N2501 \leq N \leq 250
  • 11 \leq valoarea unei cărţi 9\leq 9
  • Pentru datele de test există întotdeauna soluţie.

Exemplu

joc.in

4 
1 4 2 3 0
2 1 3 4 0

joc.out

2 3
3 4 1 4 2 1
0

Explicație

  • mutarea lui AA: 11
    • Masa de joc 11 (Cartea pusă de AA); AA: 4 2 34 \ 2 \ 3; BB: 2 1 3 42 \ 1 \ 3 \ 4
  • mutarea lui BB: 22
    • Masa de joc 1 21 \ 2 (BB a pus cartea 22); AA: 4 2 34 \ 2 \ 3; BB: 1 3 41 \ 3 \ 4
  • mutarea lui AA: 44
    • Masa de joc 1 2 41 \ 2 \ 4 (A a pus cartea 44); AA: 2 32 \ 3; BB: 1 3 41 \ 3 \ 4
  • mutarea lui BB: 11
    • Masa de joc 1 2 4 11 \ 2 \ 4 \ 1 (BB a pus cartea 1); AA: 2 32 \ 3; B: 3 43 \ 4

Partida se termină indecis (s-au realizat 44 mutări) BB va lua cărțile 1 2 4 11 \ 2 \ 4 \ 1 și va avea 3 4 1 4 2 13 \ 4 \ 1 \ 4 \ 2 \ 1

Log in or sign up to be able to send submissions!