plinie

Time limit: 0.1s Memory limit: 4MB Input: plinie.in Output: plinie.out

Pentru proiectul final, la sfârşitul clasei a VII-a, Vivi a pregătit jocul „patru în linie”. Şi-a creat o tablă de joc cu 2626 de coloane, pe care le-a codificat cu literele alfabetului englez: A, B, C, \dots, Z, şi un număr de 4040 de linii. El a presupus existenţa a doi jucători, unul având numai jetoane negre (notate cu B - „Black”), iar celălalt numai jetoane roşii (notate cu R - „Red”). Începe jucătorul care are jetoane roşii. O mutare presupune plasarea unui jeton într-o coloană a tablei, jetonul coborând pe coloană până la prima poziţie neocupată. Mutările sunt date printr-un şir compact de litere mari ale alfabetului englez. De exemplu, şirul ABAC are semnificaţia:

  • Primul jucător pune jetonul (roşu) pe coloana A; acesta coboară până la baza coloanei A
  • Al doilea jucător pune jetonul (negru) pe coloana B; acesta coboară până la baza coloanei B
  • Roşu urmează şi pune jetonul pe coloana A; acesta coboară până deasupra jetonului plasat anterior
  • Urmează negru şi pune jetonul pe coloana C; acesta coboară până la baza coloanei C

Va câştiga acel jucător care reuşeşte primul să realizeze cel puţin patru jetoane alăturate de aceeaşi culoare pe o linie, coloană sau diagonale. În acel moment jocul se termină.

Exemplu: considerăm acea parte a tablei codificată de la A la G, jetonul roşu (R) reprezentat prin şi jetonul negru (B) prin următoarele trei figuri pot reprezenta configuraţii pe tabla de joc la care se poate ajunge printr-o secvenţă oarecare de mutări.

Cerinţă

Scrieţi un program care, citind secvenţa de mutări, va stabili care este jucătorul câştigător, în caz că acesta există. Se va afişa R dacă jucătorul câştigător este cel cu jetoane roşii şi B dacă jucătorul câştigător este cel cu jetoane negre.
Partida poate să nu aibă câştigător din două motive:

  • şirul de caractere reprezentând mutările nu conduce la un câştigător: se va afişa N (Nedecis);
  • şirul de caractere are dimensiunea mai mare decât permite tabla de joc, iar până la final nu a câştigat nici unul dintre jucători, caz în care se va afişa O (Out).

Date de intrare

O partidă constă din patru jocuri. Pe primele patru linii ale fişierului de intrare plinie.in, se află câte o secvenţă de mutări formată din litere mari ale alfabetului englez, fiecare linie corespunzând unui joc. Între litere nu există separatori.

Date de ieşire

Fişierul de ieşire plinie.out va conţine patru linii. Pe fiecare dintre ele se găseşte câte un caracter reprezentând rezultatul jocului descris pe linia corespunzătoare din fişierul de intrare. Caracterele pot fi :

  • R - câştigă jucătorul cu jetoane roşii;
  • B - câştigă jucătorul cu jetoane negre;
  • N - şirul de caractere nu conduce la un câştigător, joc nedecis;
  • O - tabla de joc s-a umplut înaintea terminării şirului de mutări, fără ca vreun jucător să realizeze patru în linie, coloană sau diagonale.

Restricții și precizări

  • Tabla de joc are 4040 linii şi 2626 coloane.
  • Şirul de caractere pe baza căruia se realizează mutările are cel mult 1 5001 \ 500 caractere.
  • Un joc se poate termina înainte de efectuarea tuturor mutărilor date.

Exemplu

plinie.in

DEDEAABCCBFGDE
DEDEAABCCBFGDEE
ABACADGE
ABC

plinie.out

N
R
B
N

Explicație

Vezi figura 11
Vezi figura 22
Vezi figura 33

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