시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB108777.778%

문제

Akihise Wada budistički je svečenik iz Yokohame. Ova rečenica na prvu loptu zvuči tipično, međutim Aki je također i vatreni navijač splitskog Hajduka, dugogodišnji član Torcide i ljubitelj hrvatske kulture. U splitskim se nogometnim kuloarima šuška da je i u direktnom kontaktu s Markom Livajom nakon svake utakmice. Ovaj je zadatak inspiriran sljedećim (potpuno autentičnim) nizom poruka koje su razmijenili preko Instagrama.

Marko: “Alo Aki, eli bi mi moga objasnit kako se igra oni vaš sudoku, ja ti to ništa ne razumin. . . ”

Aki: “Marko-san, rješavanje sudoku zagonetki drevna je umjetnost, tome valja posvetiti cijeli život.”

Marko: “Ma nisan ja mislija postat neki velemajstor, samo da mogu maznit ove iz 24 sata posli treninga, to moja baba zna rišit.”

Aki: “Te je dosta napast cross-hatchingom i dobar si.”

Marko: “Cross šta? Na centaršutima sam najjači.”

Vjerojatno ste shvatili, potrebno je napisati program koji rješava sudoku zagonetku primjenom metode unakrsnog križanja (engl. cross-hatching).

Cilj sudoku zagonetke je postaviti brojeve između 1 i 9 na kvadratnu ploču dimenzija 9 × 9 tako da se u svakom retku, stupcu i 3 × 3 bloku nalazi svaki od devet brojeva.

Metoda unakrsnog križanja radi na način da najprije izaberemo jedan od devet brojeva te, za svako njegovo pojavljivanje na ploči, prekrižimo odgovarajući redak, stupac i 3 × 3 blok. Nakon toga tražimo 3 × 3 blok u kojem taj broj još ne pojavljuje te u bloku postoji točno jedno moguće mjesto za taj broj. Tada taj broj zapišemo na to mjesto.

Zadana je djelomično ispunjena ploča. Vaš je zadatak ponavljanjem unakrsnog križanja ispravno popuniti što više praznih polja.

Pritom, početni raspored brojeva na ploči može biti ilegalan, odnosno neki se broj može više puta ponavljati u retku, stupcu ili 3 × 3 bloku. Također je moguće da za vrijeme rješavanja naiđete na situaciju da u neki blok uopće nije moguće postaviti broj. U oba slučaja potrebno je prijaviti grešku.

입력

U svakom od devet redaka ulaza nalazi se točno devet znakova koji predstavljaju sudoku zagonetku. Svi će znakovi biti znamenke od 1 do 9 ili točka (’.’), koja označava prazno polje.

출력

Ako je početni raspored ilegalan ili usred rješavanja naiđete na kontradikciju, ispišite riječ GRESKA.

Inače, ispišite ploču u istom obliku u kojem je zadana, s popunjenim poljima čiju je vrijednost moguće odrediti ponavljanjem metode unakrsnog križanja.

예제 입력 1

91.......
..9......
.......9.
.........
.........
.........
......2..
.........
.......7.

예제 출력 1

GRESKA

예제 입력 2

.1.....2.
.........
2........
1........
....2....
.........
.......1.
....1....
.....2...

예제 출력 2

.1.....2.
...2.....
2........
1........
....2....
.........
.......1.
....1....
..1..2...

예제 입력 3

524.378.9
..6529473
397864215
219476358
.439.572.
765382941
972658134
63.2415.7
451793682

예제 출력 3

524137869
186529473
397864215
219476358
843915726
765382941
972658134
638241597
451793682