Hexodoku
Sudoku möhtəşəm bir oyundur və bir çox insan onun həllindən zövq alır. Deyilənə görə, əfsanəvi bir proqramçı standart sudoku həll edən proqramı cəmi 7 dəqiqəyə yazıb. Bu, çox təsirli deyilmi? İndi isə o, başqa bir problemi həll edib. Siz də bunu edə bilərsinizmi?
Standart olmayan altıbucaqlı Sudoku lövhəsini nəzərdən keçirin:
Hüceyrələr 1-dən 31-ə qədər nömrələnmişdir.
Qaydalara əsasən, hüceyrələrə (hər biri 1-dən K-ə qədər) rəqəmlər yerləşdirilə bilər, lakin eyni sıradakı (sıralar üç istiqamətdə yerləşir) bütün rəqəmlər fərqli olmalıdır.
Əlavə olaraq, işarələnmiş hər bir hüceyrə üçün, həmin hüceyrədəki rəqəm və bitişik hüceyrələrdəki bütün rəqəmlər də bir-birindən fərqli olmalıdır.
Fərqli olmalıdır
Bəzi rəqəmlər artıq qaydalara uyğun olaraq hüceyrələrdə yerləşdirilə bilər. Sizdən N-ci leksikoqrafik ardıcıllıqda həlli tapmaq tələb olunur, əgər mövcuddursa.
Qoy A_i həll A-da hüceyrə i-dəki rəqəm olsun və B_i həll B-də hüceyrə i-dəki rəqəm olsun. Həll A leksikoqrafik olaraq həll B-dən kiçikdir, əgər elə bir j mövcuddur ki, hər bir i üçün burada i < j: A_i = B_i və A_j < B_j.
Giriş verilənləri
Girişin ilk sətri iki tam ədəd K və N ehtiva edir.
7 ≤ K ≤ 31
1 ≤ N ≤ 100000
İkinci sətrdə 31 tam ədəd var: A_i (1 ≤ i ≤ 31) hüceyrə i-dəki rəqəmdir.
1 ≤ A_i ≤ K, və ya 0, əgər bu hüceyrədə rəqəm yoxdursa.
Çıxış verilənləri
Çıxışın ilk sətri cavabı ehtiva etməlidir:
"Found" — əgər həll tapılıbsa.
"No way" — əgər N-ci həll yoxdursa.
Əgər həll tapılıbsa, çıxışın ikinci sətri N-ci həlli girişdəki formatda ehtiva etməlidir.
Bu, yuxarıdakı ilk nümunədir: