graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

NSI 2024/2025 - Programowanie obiektowe

[B1] Sudoku
Języki: c cpp
Limit czasu: 3.0 s
Limit pamięci: 32 MB
Limit rozmiaru rozwiązania: 100 kB

Sudoku jest łamigłówką, której celem jest wypełnienie kwadratowego diagramu rozmiaru N2×N2 liczbami naturalnymi z zakresu od 1 do N2 w taki sposób, aby każdy wiersz, każda kolumna oraz każdy z N2 wyróżnionych kwadratów rozmiaru N×N (zwanych „blokami” lub „podkwadratami”) zawierały dokładnie jedno wystąpienie każdej z liczb z zakresu od 1 do N2. Każdy z kolejnych N2 wierszy zawiera N2 liczb naturalnych z zakresu od 1 do N2. Jako wynik program powinien wydrukować na standardowym wyjściu słowo TAK jeśli wczytany diagram jest poprawnym rozwiązaniem sudoku oraz NIE w przeciwnym przypadku.

Przykładem prawidłowo rozwiązanego sudoku rozmiaru 22x22 jest:

1234
3412
2341
4123

Natomiast przykładem prawidłowo rozwiązanego sudoku rozmiaru 32x32 jest:

726493815
315728946
489651237
852147693
673985124
941362758
194836572
567214389
238579461

Napisz program, który dla wczytanego ze standardowego wejścia diagramu rozmiaru N2×N2 zweryfikuje czy jest on poprawnym rozwiązaniem sudoku.

Specyfikacja wejścia i wyjścia

Pierwszy wiersz wejścia zawiera liczbę naturalną 1≤N≤10. Każdy z kolejnych N2 wierszy zawiera N2 liczb naturalnych z zakresu od 1 do N2. Jako wynik program powinien wydrukować słowo TAK jeśli wczytany diagram jest poprawnym rozwiązaniem sudoku oraz słowo NIE w przeciwnym przypadku.

Przykładowe wejście I

2
1 2 3 4
3 4 1 2
2 3 4 1
4 1 2 3

Przykładowe wyjście I

TAK

Przykładowe wejście II

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

Przykładowe wyjście II

NIE
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego