Rubik kubu
Saşko Rubik kubunu yığmağa və yeni uğurlara can atarkən öz tapmacasını icad etdi. Təəssüf ki, hələ onu necə həll edəcəyini bilmir. Saşko tapmacası haqqında belə danışır.
Kvadrat cədvəlin hər bir sətirində və sütununda 2n hüceyrə var və bu hüceyrələr 100-dən çox olmayan təbii ədədlərlə doldurulmuşdur. Bir addımda cədvəlin istənilən sətirini və ya sütununu güzgü kimi əks etdirmək (yəni "çevirmək") icazəlidir. Aşağıda belə bir əməliyyatın həyata keçirilməsinin bir neçə nümunəsi verilmişdir: solda cədvəlin ilkin doldurulması, sağda isə bir neçə cədvəl — mümkün gedişlərdən birinin həyata keçirilməsindən sonra cədvəlin doldurulmasının nümunələri. Güzgü kimi əks etdirilmiş sətir və ya sütun vurğulanmışdır.
Belə əməliyyatlarla hər birinin ölçüsü n x n olan dörd künc kvadratının hüceyrələrində eyni ədədlərin yazıldığı cədvəli əldə etmək mümkün olub-olmadığı məlum deyil. Müxtəlif künc kvadratlarında ədədlər bir-birindən fərqli ola bilər. Əgər bu mümkündürsə, arzu olunan nəticəyə gətirib çıxaran əməliyyatlar ardıcıllığını göstərmək lazımdır. Məsələn, belə bir cədvəl:
4 addımda lazımi formaya çevrilə bilər (əvvəlki addımda əməliyyatın həyata keçirildiyi sətir və sütunlar vurğulanmışdır):
Verilmiş başlanğıc doldurulması ilə cədvəli lazımi şəkildə çevirmək mümkün olub-olmadığını müəyyən edin. Əgər bu mümkündürsə, cədvəlin lazımi formaya düşdüyü gedişlərin ardıcıllığını göstərin.
Giriş verilənləri
Giriş faylının ilk sətirində t sayı — faylda verilmiş testlərin sayı göstərilmişdir. Sonra testləri təsvir edən eyni formatlı t blok yerləşdirilmişdir. Bloklar arasında boş sətirlər yoxdur.
Hər bir blokun ilk sətirində təbii ədəd n göstərilmişdir.
Blokun növbəti 2n sətirində cədvəlin başlanğıc doldurulmasını təyin edən 2n təbii ədəd yerləşdirilmişdir. Burada 1 ≤ t ≤ 10, 1 ≤ n ≤ 100, və cədvəlin hüceyrələrində yazılmış hər bir ədəd təbii və 100-dən çox olmayan bir ədəddir.
Çıxış verilənləri
Çıxış faylı giriş faylında verilmiş t testlərə cavab verən eyni formatlı t blokdan ibarət olmalıdır. Blokların sırası saxlanmalıdır: çıxış faylının birinci bloku giriş faylının birinci blokuna, ikinci blok ikinciyə, …, sonuncu blok sonuncuya uyğun olmalıdır. Bloklar arasında boş sətirlər olmamalıdır.
Hər bir blokun ilk sətirində cədvəlin lazımi formaya düşdüyü əməliyyatların sayını göstərən k sayı yerləşdirilməlidir.
Blokun növbəti k sətirində müvafiq əməliyyatlar icra olunma ardıcıllığı ilə təsvir edilməlidir: əməliyyatın həyata keçirildiyi sətir və ya sütunun nömrəsini göstərmək lazımdır. Nömrələmə birdən başlayır, sütunlar soldan sağa, sətirlər yuxarıdan aşağıya sayılır. Əgər sətir güzgü kimi əks etdirilirsə, onun nömrəsindən əvvəl "+" işarəsi (tırnaq işarələri olmadan), əgər sütun güzgü kimi əks etdirilirsə, "–" işarəsi qoyulur.
Əgər cədvəlin hüceyrələrindəki ədədlərin başlanğıc yerləşdirilməsi onu lazımi formaya gətirməyə imkan vermirsə, blokun yeganə sətiri "–1" ədədini ehtiva etməlidir.