[BOJ 8848] Puzzle

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

Po skończeniu codziennego grabienia liści, pan Wincenty postanowił zrelaksować się przy swojej ulubionej rozrywce - układaniu puzzli. Znalazł w szafce swojego biurka stary zestaw, i zabrał się do układania.</p>

Po chwili wiedział już który kawałek pasuje do którego oraz znał pierwsze dwa elementy pierwszego rzędu puzzli. Znał też - oczywiście, rozmiary obrazka. Czy ta wiedza wystarczy do jednoznacznego odtworzenia całej układanki?

입력 형식

W pierwszej linii znajdują się dwie liczby naturalne N i M  (3 <= N <= M, NM <= 1000), N oznacza liczbę wierszy układanki, M oznacza liczbę kolumn układanki.</p>

Następnie w kolejnych NM liniach znajduję się opisy kolejnych (od kawałka nr 1 do kawałka nr N*M) kawałków układanki. Każdy opis składa się dokładnie z czterech liczb całkowitych nieujemnych - numerów kawałków, do których dany kawałek pasuje. Jeśli dany element leży na brzegu obrazka, to zamiast odpowiedniego sąsiada podawana jest liczba 0.</p>

W ostatniej linii znajdują się dwie liczby naturalne A i B - numery, kolejno, dwóch pierwszych elementów pierwszego rzędu układanki.

출력 형식

Na wyjściu należy wypisać NIE w przypadku, gdy dla danych danych nie da się jednoznacznie określić rozwiązania układanki. W przeciwnym przypadku należy wypisać ułożoną układankę, w N kolejnych liniach, z których każda ma zawierać oddzielone spacjami M numerów kolejnych elementów w danym rzędzie.

예제 입력

3 4
10 2 4 11
5 12 1 7
0 12 0 5
5 0 6 1
2 0 3 4
10 4 0 0
11 2 0 8
0 12 7 0
11 10 0 0
6 9 0 1
7 9 1 0
2 0 3 8
9 11

예제 출력

9 11 7 8
10 1 2 12
6 4 5 3

Comments

There are no comments at the moment.