Nosaukums
Desu meistari (desum)
Laika limits
1.00s
Atmiņas limits
256.0 MB
Grūtība
63%

Definīcija

Divi spēlētāji spēlē parastās "DESAS" : uz 3*3 rūtiņu laukuma katrs pēc kārtas kādā no neaizņemtajām rūtiņām velk savu simbolu (viens simbolu X, otrs - O). Spēli var sākt gan tas spēlētājs, kurš velk "X", gan tas kurš velk "O". Spēle beidzas ar kāda spēlētāja uzvaru, ja tam izdevies aizpildīt trīs vienā rindā esošas (horizontāli, vertikāli vai pa diagonāli) rūtiņas ar saviem simboliem. Ja aizpildīti visi deviņi lauciņi un nevienam no spēlētājiem nav izdevies uzvarēt, spēle beigusies neizšķirti.

Spēles lauka protokols ir 9 simbolu virkne, ko veido pierakstot pēc kārtas pa rindām katrā spēles lauciņā ierakstīto simbolu ("X" vai "O") vai arī "T", ja lauciņš ir tukšs. Spēles lauka i-tās rindas j-tās kolonnas lauciņa saturam atbilst protokola 3*(i-1)+j -tais simbols. Spēles sākuma pozīcijai atbilst protokols "TTTTTTTTT" (neviens lauciņš nav aizpildīts). DESU spēles izspēli sauksim par pabeigtu, ja kāds no spēlētājiem ir uzvarējis, vai visi deviņi spēles lauciņi ir aizpildīti. Divu dažādu DESU spēļu izspēles sauksim par vienādām, ja abas izspēles ir pabeigtas un abās spēlēs katrā gājienā viens un tas pats simbols ir ierakstīts vienā un tajā pašā lauciņā. Divu dažādu DESU spēļu izspēles sauksim par dažādām, ja tās nav vienādas. Teiksim, ka konkrētā spēle nospēlēta meistarīgi, ja šīs spēle ir pabeigta un tās laikā nav bijusi situācija, ka kāds no spēlētājiem ar savu gājienu ir varējis tūlīt pat uzvarēt, bet uzvarošā gājiena vietā ir izdarījis citu. Piemēram, ja ir bijusi situācija ( protokols XOTTTOTTX ):

X O  
    O
    X


un gājiens spēlētājam, kurš velk "X", tad spēle būs nospēlēta meistarīgi tikai tad, ja nākošais gājiens būs centrālajā rūtiņā ar uzvaru ( protokols XOTTXOTTX ):

X O  
  X O
    X


Savukārt, ja gājiens būtu bijis spēlētājam, kurš velk "O", tad pagaidām jebkurš gājiens atbilstu meistarīgai spēlei.

Uzrakstiet programmu, kas ievadītai 9 simbolu virknei veiktu sekojošas darbības :

  1. noteiktu, vai tas ir desu spēles protokols, t.i., vai šajā virknē nav no lielajiem latīņu alfabēta burtiem "X","O" un "T" atšķirīgi simboli un vai šādu spēles situāciju ir iespējams iegūt, spēlējot pēc noteikumiem. Ja virkne ir desu protokols, pāriet uz 2. darbību, ja nē - izvaddatu failā izvadītu paziņojumu : "NAV KOREKTS DESU PROTOKOLS." un dotās virknes apstrādi pārtraukt.
  2. noteiktu, vai dotais protokols atbilst pabeigtai spēlei. Ja jā, pāriet uz 3. darbību, ja nē - izvaddatu failā izvadītu paziņojumu : "DESAS NAV PABEIGTAS." un dotās virknes apstrādi pārtraukt.
  3. noteiktu, cik dažādas meistarīgi izspēlētas spēles varēja beigties ar pozīciju, kas atbilst dotajam protokolam un izvaddatu failā izvadītu paziņojumu : "PROTOKOLAM ATBILST <skaits> MEISTARVARIANTI."

Ievaddatu raksturojums

Ievaddatu pirmajā rindā dota deviņu simbolu virkne.


Izvaddatu raksturojums

Izvaddatu vienīgajā rindā jāizvada uzdevuma noteikumos minēto paziņojumu.


Piezīmes

Uzdevums izmantots Latvijas 9.informātikas olimpiādes III(Valsts) kārtā. 

Autors:M.Opmanis


Paraugdati

Stdin
XXOOTXTXO
Stdout
DESAS NAV PABEIGTAS.

Stdin
XXXTTTOOO
Stdout
NAV KOREKTS DESU PROTOKOLS.

Stdin
OXOXXTOXO
Stdout
PROTOKOLAM ATBILST 16 MEISTARVARIANTI.

Uzdevums tiek aizsargāts ar autortiesībām un tā kopēšana vai neatļauta izmantošana ir aizliegta.