Kiçik Tapmaca
"' Şirkətinizin "yenidən markalanma" kampaniyasının bir hissəsi olaraq bir tapmaca hazırlamağa qərar verdiniz. Bu tapmaca, şirkətinizin yeni loqosunu təmsil edəcək şəkildə, 9 (doqquz) birləşdirilmiş vahid kvadrat dəstindən ibarət bir düzbucaqlı şəbəkə olacaq. Lakin bu 9 kvadratın hamısı mütləq bir yerdə yapışdırılmayacaq, yəni onlar bir neçə birləşdirilmiş hissədən ibarət ola bilər (kvadratları ortadan bölmək icazə verilmir). Tapmacanın məqsədi bu hissələri elə düzəltməkdir ki, onlar 3x3 kvadrat təşkil etsinlər. Düzəltmə zamanı yalnız hissələri sürüşdürmək mümkündür, onları döndərmək və ya çevirmək olmaz.
Tapmacanı daha çətin etmək üçün mümkün qədər az hissə olmalıdır. Loqonu nəzərə alaraq, neçə hissəyə ehtiyacınız olduğunu və onları 3x3 kvadrata necə düzəltmək lazım olduğunu hesablayın.
Problemin təsvirindəki hər bir "birləşdirilmiş" sözü yan-yana birləşmə mənasını verir.
Giriş verilənləri
Girişin ilk sətri iki tam ədəd H və W ehtiva edir. Növbəti H sətirlər hər biri W simvol ehtiva edəcək və loqonuzu təsvir edəcək. Bu simvollardan hər biri ya '.' (nöqtə), boş kvadratı göstərən, ya da 'X' (böyük ingilis hərfi X), loqonun tutduğu kvadratı göstərən olacaq. Bütün 'X'lər birləşdirilmiş bir fiqur təşkil edəcək və girişdə dəqiq 9 'X' olacaq. İlk sətir, son sətir, ilk sütun və son sütun ən azı bir 'X' ehtiva edəcək, başqa sözlə, şəbəkənin hər hansı bir tərəfində lazımsız boş sətirlər olmayacaq.
Çıxış verilənləri
Birinci sətirdə tələb olunan hissələrin sayı K çıxarın. Sonra, mümkün düzəltmələrdən birini çıxarın, daha dəqiq desək: növbəti H sətirlərdə bütün 'X'ləri ingilis əlifbasının ilk K böyük hərfləri ilə əvəz edin, hər bir hərf bir hissəni göstərir. Sonra bir boş sətir çıxarın və sonra 3 simvol ehtiva edən 3 sətir çıxarın, eyni K hissələri elə sürüşdürülmüş şəkildə ki, onlar 3x3 kvadrat təşkil etsinlər.
Bütün hissələr birləşdirilmiş olmalıdır və K mümkün qədər az olmalıdır. Əgər bir neçə mümkün həll varsa, hər hansı birini çıxarın. "'