Sudoku
Yox! Bill sadəcə başa düşdü ki, son on dəqiqədə həlli üzərində düşündüyü Sudoku reallıqda keçən həftədəki məsələ idi, yalnız saat istiqamətinin əksinə çevrilmişdir. Necə də sadədir! Yəni jurnal hər həftə yeni məsələ verə bilmirmi? Əlbəttə, onun məsələni həll etməyə başlamazdan əvvəl bunun haqqında bilməsi imkanı yox idi, bəli rəqəmlə doldurulacaq boş yerlər keçən həftədəkinə nisbətən başqa idi. Buna baxmayaraq, bu həftə tapmacanın keçən həftədəkinin sadə törəməsi olduğunu nəzərə alsaq, əlbəttə ki, digərlərinin həllinə nisbətən daha çox zövqlü olar.
Sudoku sahəsi 9×9 xanalı cədvəldən ibarətdir. Onlar hər birində 3x3 ölçülü sahələr olan qruplaşdırıla bilər. Bəzi xanalar 1-dən 9-a qədər doldurulmuşdur, digərləri isə boşdur. Oyunun məqsədi ondan ibarətdir ki, hər bir boş xananı 1...9 intevalındakı rəqəmlə elə doldurmaq lazımdır ki, hər bir sətir, hər bir sütun və hər bir sahədə 1..9 intervalındakı hər bir rəqəm bir dəfə iştirak etsin.
Həll edilməmiş Sudokunun, sözün əsil mənasında sadə əməliyyatlar vasitəsilə alınan əvvəlki məsələlərin törəməsi olduğunu yoxlayan proqram yazarkən gözlənilməz surprizlərdən qaçmaq üçün Billə kömək edin..
İcazə verilən əməliyyatlar aşağıdakılardır:
Bütün tapmacada saat əqrəbi istiqamətində və əksinə dönmək.
Bir seqmetin 3x9 ölçülü kolonkasında iki sütunun dəyişdirilməsi.
Bir seqmetin 3x9 ölçülü zolağında iki sətrin dəyişdirilməsi.
Sətir və sütun seqmeninin yerlərinin dəyişdirilməsi.
Hər bir xanada 1...9 arası f rəqəmin yerdəyişməsinin tətbiq edilməsi (məsələn, hər bir xanada x-in f(x) ilə dəyişdirilməsi).
Hesab edilir ki, əməliyyat həll edilmiş Sudoku üzərində (yəni, həll eilməmiş deyil) aparılir, həmçinin həmişə qarantia verilir ki, əgər Sudokunun çevrilməsindən əvvəl həlli var idisə, onda bundan sona da həlli olacaq.
Giriş verilənləri
Giriş verilənləri testlərin sayını göstərən N ədədi ilə başlayır (0 ≤ N ≤ 50)
Sonra hər bir test üçün tapmacanın keçən həftədəki həllinin şərhi yuxarıdan aşağıya doğru sətir-sətir 9 sətir olmaqla verilir.
Keçən həftədəki həlldən sonra bu həftədə həll edilməmiş məsələlrin şərhi hər birində doqquz sətir olmaqla verilir. Burada bunda başqa, hər bir sətir tapmacanın sətirlərinə uyğun gəlir vər hər bir rəqəm (0...9) xananın məzmununu göstərir, 0 rəqəmi xananın boş olduğunu göstərir. Sətirlər yuxarıdan aşağıya sətir-sətir göstərilib, xanalar soldan sağa sıralanıb.
Sonuncudan başqa hər bir testdən sonra bir boş sətir verilir. Hər bir həll edilməmiş tapmacanın, keçən həftə olduğu kimi, birmənalı şəkildə həll ediləcəyinə qarantiya verilir və bu həmişə Sudokunun yeganə həlli olacaqdır.
Çıxış verilənləri
İcazə verilən əməliyyatlardan istifadə etməklə tapmacanın verilmiş həllindən Sudoku alınarsa, Hər bir test üçün Yes, əgər bu mümkün deyilsə, No verməli.