Prihlásenie Registrácia  

S - Sudoku

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Melanka má veľmi rada hru Sudoku. Rozhodla sa, že si urobí zbierku hier, ktoré sú uverejňované v rôznych časopisoch. Našla aj menej typické - obdĺžníkové sudoku. V každom bloku, riadku aj stĺpci je každé číslo práve raz (teda pre rozmery bloku 2x3 sú tam čísla od 1 do 6, celkový rozmer je 6x6).
Našla program dostupný na internete (Simon Tatham's Puzzle Collection), v ktorom to chce riešiť. Potrebuje ale zápis v správnom tvare. Najprv sú uvedené rozmery (RxS:) a nasleduje popis hracej plochy po riadkoch zľava doprava, zhora dole. Čísla na susedných políčkach sú oddelené znakom "_" a medzery sú reprezentované malým písmenom anglickej abecedy udávajúcim ich počet ("a" - jedna, "b" - dve, ...).
Pri prepise sa často pomýli a program prestane reagovať, tak by potrebovala skontrovať ňou vytvorené zápisy.

Úloha

Overte správnost zápisu hry sudoku podľa pravidiel zápisu uvedených vyššie.

Vstup

V prvom riadku súboru sa nachádza číslo Q udávajúce počet testovacích sád.

Každá sada obsahuje jeden riadok - reťazec dĺžky najviac 512 znakov, popisujúci jeden kontrolovaný zápis hry. Môžete predpokladať, že rozmery v korektnom zápise sú menšie ako 5. Takisto žiadny zápis nepopisuje viac ako 25 medzier za sebou.

Výstup

Výstupom programu je odpoveď "ano" (ak reťazec na vstupe reprezentuje korektný zápis podľa podmienok) alebo "nie" (inak) pre každú testovaciu sadu na samostatnom riadku.

Príklad

Sudoku

Vstup:

3
2x3:b4_1b5_1d6c5b4c3d2_6b6_5b
2x3:b4_1b5_1d6c5b4c3d2_6b6_2b
2x3:b4_1b5_1d6c5d4c3d2_6b6_5b

Výstup:

ano
nie
nie

Komentár

Prvá sada reprezentuje hru z obrázku.