Drift Tapmaca
Ümumiyyətlə, bir tapmaca, bir animasiyanın üç kadrının (F_1, F_2, F_3) ardıcıllığını təqdim edir və "ən məntiqli" dördüncü kadr F_4-ü tapmağı tələb edir. Məsələn:
Adətən bu tapmaca çoxseçimli sual şəklində təqdim olunur, lakin bu, bəzən darıxdırıcı ola bilər. Daha maraqlı bir problem isə dördüncü kadrı birbaşa tapmaqdır!
Dəqiq olmaq üçün, biz aşağıdakı qaydalarla qurulan animasiya kadrlarını nəzərdən keçirəcəyik:
Hər bir kadr F_i hündürlüyü h və eni w olan bir şəbəkədir.
Hər bir kadr F_i n fərqli obyekt m_1 = A, m_2 = B, m_3 = C, ..., m_n = (hərf) ehtiva edir.
Hər bir kadrda m_j obyekti h×w hüceyrələrindən birində yerləşir və üst-üstə düşə bilər.
Əgər iki obyekt m_j və m_k, j < k eyni hüceyrəni tutursa, yalnız m_j (yəni kiçik indeksli obyekt) görünəcəkdir.
Hər bir obyekt m_j sabit, sıfır olmayan "sürüşmə sürətinə" malikdir: F_i-dən F_i_{+1}-ə, m_j səkkiz mümkün (üfüqi, şaquli və ya diaqonal) istiqamətlərdən birində 1 vahid hərəkət edir.
Əgər bir obyekt şəbəkədən kənara çıxarsa, o, əks tərəfə (və ya küncə) "dolanır".
Göstərilən nümunədə, A-nın şərqə doğru sürüşdüyünü; B-nin cənub-qərbə doğru sürüşdüyünü; C-nin şimala doğru sürüşdüyünü; D-nin şimala doğru sürüşdüyünü; və E-nin şimal-qərbə doğru sürüşdüyünü çıxara bilərik. F_2-də B və C eyni hüceyrəni tuturlar, buna görə yalnız B görünür. F_3-də B qərb divarını aşır və şərq tərəfdən dolanır (eyni zamanda bir vahid cənuba hərəkət edir). Yuxarıdakı məlumatlardan istifadə edərək, hər bir obyektin trayektoriyasını ekstrapolyasiya edə və F_4-ü tapa bilərik:
Obyektlər bir-birini örtə bildiyindən, F_1, F_2 və F_3 hər bir obyektin sürətini həll etmək üçün kifayət qədər məlumat təmin etməyə bilər. Buna görə F_4 bir neçə həllə malik ola bilər (bax Nümunə Giriş halı 2); bu baş verdikdə, bir səhv mesajı çıxarmalısınız. Bəzən obyektlərin bir çox mümkün sürətləri ola bilər, lakin F_4 üçün unikal bir həll hələ də mövcud ola bilər (bax Nümunə Giriş halı 3); bu halda F_4 yaxşı müəyyən edilmişdir və həll edilməlidir.
Giriş verilənləri
Birinci giriş sətri test halları sayını N, 1 ≤ N ≤ 50 ehtiva edir.
Hər bir test halı, boşluqla ayrılmış tam ədədlər h, w və n ehtiva edən bir sətirlə başlayır. h sətir izləyir. Hər bir sətirdə i, 1 ≤ i ≤ h, üç boşluqla ayrılmış uzunluq-w sətirlər a_i, b_i və c_i verilir. Mətn bloku a_1, a_2, ..., a_h, şaquli olaraq yığıldıqda, F_1-i müəyyən edir. Eyni şəkildə, b_1, b_2, ..., b_h və c_1, c_2, ..., c_h müvafiq olaraq F_2 və F_3-ü müəyyən edir.
h hər bir kadrın hündürlüyüdür və 3 ≤ h ≤ 10 şərtini təmin edir.
w hər bir kadrın enidir və 3 ≤ w ≤ 10 şərtini təmin edir.
n fərqli kütlələrin sayıdır və 1 ≤ n ≤ 26 şərtini təmin edir.
1 ≤ i < h üçün, hər bir a_i, b_i və c_i uzunluq-w sətirlər böyük hərflərdən "A"-"Z" (obyektlər üçün) və ya nöqtədən "." (boş yerlər üçün) ibarətdir.
Girişlərdən F_1, F_2 və F_3 yuxarıda göstərilən animasiya quruluş qaydalarına uyğun olacaq, belə ki, F_4 ən azı bir həllə malik olacaq.
Çıxış verilənləri
Hər bir test halı üçün, əgər unikal F_4 mövcuddursa, onu giriş formatında, yəni uzunluq-w sətirlərdən ibarət h sətir kimi çap edin. Əks halda, bir sətirdə "Çoxlu həllər mövcuddur" yazın. Test halları arasında boş sətir çap edin, lakin son test halından sonra yox.
Test Hali 2 üçün, F_4 üçün iki mümkün həll var
ABC ABC
DE. DEF
F-nin şimala doğru sürüşməsi və ya qərbə doğru sürüşməsindən asılı olaraq; beləliklə, çoxlu həllər mövcuddur.
Test Hali 3 üçün, G şərqə, cənuba və ya cənub-şərqə doğru sürüşə bilər, lakin hər üç halda eyni F_4-ə gətirib çıxaracaq, beləliklə, unikal həll mövcuddur.
Test Hali 4 üçün, B-D A ilə örtülür və F-Z A və ya E ilə örtülür. Buna görə bəzi blokların yeri qeyri-müəyyəndir. Lakin, unikal həll mövcuddur.
Test Hali 5 üçün, İki mümkün F_4 var
..... .....
..C.. ..C..
..... .....
A.... A..D.
.B... .B...