Tasks:
 
Task DescriptionDiscussion (0)
Task :: z-sudoku2
Od prošle subote do sada, Vanja je toliko napredovao, promatrajući malog Z dok rešava sudoku, da sada već sam ponekad uspe da pronađe ispravno rešenje.

Sudoku je drevna japanska igra u kojoj je potrebno rasporediti 9 različitih brojeva u tabelu koja ima 9 redova i 9 kolona. Po sledećim pravilima:
• Svaki broj se mora upotrebiti tačno 9 puta.
• Ne sme biti dva ista broja u bilo kom istom redu,
• Ne sme biti dva ista broja u bilo kojoj istoj koloni,
• Ne sme biti dva ista broja u bilo kom malom kvadratu 3x3.

-------------------
|6 9 2|7 1 5|4 8 3|
|1 5 3|4 2 8|7 9 6|
|8 4 7|9 3 6|2 5 1|
-------------------
|2 8 5|3 6 1|9 7 4|
|3 7 4|5 8 9|6 1 2|
|9 6 1|2 7 4|5 3 8|
-------------------
|5 3 9|8 4 2|1 6 7|
|4 1 8|6 9 7|3 2 5|
|7 2 6|1 5 3|8 4 9|
-------------------

Mali Z ima svoju tehniku rešavanja sudoku-a, međutim kao što sve radi na svoj način, Vanja je i sudoku rešavao totalno suprotno od malog Z. Jednom su nabavili 10 jeftinih sudoku blizanac problema u lokalnoj trafici. (svaki problem je imao svoj duplikat, kako bi ih dve osobe mogle rešavati istovremeno ali nezavisno). Ispostavilo se da od ovih 10 sudoku problema, neki nisu mogli da se reše, neki su imali jedinstveno rešenje, a neki su imali više različitih rešenja. Mali Z je imao specijalnu tehniku rešavanja koja u slučaju višestrukog rešenja daje najmanje leksikografsko rešenje ako se sudoku čita kao što čitamo knjigu: s leva na desno, i odgore prema dole. Vanjina tehnika je davala najveće leksikografsko rešenje. Pomozite dvojici prijatelja da ne se spore oko toga čije je rešenje tačno.

INPUT:
Sa standardnog ulaza se unosi po 9 znakova u devet redova. Znakovi mogu biti: zadate cifre od 1 do 9 ili '.' (tačka) Tačka predstavlja prazno mesto u postavljenom sudoku problemu.

OUTPUT:
Na standardni izlaz potrebno je ispisati najmanje leksikografsko rešenje zadatog sudoku problema sa ulaza (u formatu 9x9), zatim jedan prazan red, a potom najveće leksikografsko rešenje (u formatu 9x9).
Ako je rešenje jedinstveno tada treba ispisati samo to jedno jedinstveno rešenje takođe u formatu 9x9.
Ako nema rešenja, u prvi red standardnog izlaza potrebno je ispisati "IMPOSSIBLE".

Ulaz 1:
..9.5..38
78..46..2
2..8..417
57..31..4
..45....9
92..74..5
1..38.1.6
..2..9..7
..576..41

Izlaz 1:
IMPOSSIBLE

Objašnjenje: U donjem desnom kvadratu 3x3, broj 1 pojavljuje se dva puta.

Ulaz 2:
....1....
.9..5.4.3
7.846.1.5
926.85...
1.......2
...62.591
8.9.723.6
6.2.9..4.
....4....

Izlaz 2:
564213978
291758463
738469125
926185734
175934682
483627591
849572316
652391847
317846259

Objašnjenje: Rešenje je jedinstveno, i dovoljno je ispisati samo to jedno rešenje.

Ulaz 3:
.........
.........
.........
.........
.........
.........
.........
.........
.........

Izlaz 3:
123456789
456789123
789123456
214365897
365897214
897214365
531642978
642978531
978531642

987654321
654321987
321987654
896745213
745213896
213896745
579468132
468132579
132579468

Objašnjenje: Rešenje je višestruko. Gornje je najmanje leksikografsko rešenje a donje najveće.

Submit Solution
:
:
Available Languages
Task info
Name:z-sudoku2
Time:2 sec.
Memory:16 MB
#Tests:10
AddedBy: oduleodule
Source:Dusko Obradovic
Task Ratings
Difficulty:

4.7 (15 votes)
Quality:

4.4 (12 votes)
Acceptance Rate
Recent Submissions
Fastest Solutions
UserTime
halil 0.09 s.
dejandenib 0.435 s.
marko1597 1.095 s.
A.Armin 1.305 s.
gates 1.31 s.
cedricl 2.55 s.
oduleodule 3.315 s.
picsel 5.81 s.
Solved By