Gəmilər#629

Gəmilər

1 saniyə
64 meqabayt
Çətin

Yəqin ki, məktəbə gedən hər kəs iki oyunçunun gəmiləri torun üzərinə yerləşdirib bir-birinin gəmilərini tapmağa və məhv etməyə çalışdığı oyunu tanıyır.

Bizim versiyada həm siz, həm də rəqibiniz aşağıdakı yeddi gəmi formasından istifadə edə bilərsiniz və bu gəmiləri düzbucaqlı bir torun üzərinə yerləşdirə bilərsiniz:

Hər gəmi tam olaraq dörd hüceyrəni tutur. Gəmiləri döndərmək olar, lakin aynalamaq olmaz. Bütün gəmilərin tamamilə verilmiş düzbucaqlı daxilində yerləşdirildiyinə və bir-birilə üst-üstə düşmədiyinə zəmanət verilir. Gəmilərin bir-birilə və ya sərhədlə toxunmağına icazə verilir.

Tutaq ki, oyun ortasında bir məqamdasınız və bəzi hüceyrələr artıq açılıb. Sizin qarşınızda rəqibinizin gəmilərinin mümkün yerlərini göstərən bir düzbucaqlı tor verilib. Hər bir hüceyrə bu simvollardan biri ilə göstərilib:

Bu məlumatlara əsaslanaraq müəyyənləşdirin: bütün qalan 'x' hüceyrələrinin yerlərini maksimum bir dəfə səhv etməklə tapmaq mümkündürmü? Yəni bütün '.' hüceyrələrini açırsınızsa, maksimum bir dəfə 'o'ya (səhv zərbə) rast gəlməyə icazəniz var; bundan sonra bütün 'x' hüceyrələri birmənalı şəkildə tapılmalıdır. Başqa sözlə, sonuncu həll unikallıq təşkil edirsə, bir 'o' vurmağa icazə verilir.

Giriş

Giriş faylında bir neçə oyun vəziyyəti verilib. Hər test halı əvvəlcə torun eni və hündürlüyünü göstərən iki tam ədəd və ilə başlayır; burada 2 \leq w, h \leq 16.

Sonra növbəti sətir boyunca hər birində ədəd simvol olan bir sətir verilir. Hər bir simvol 'x', 'o' və ya '.'-dır və bu hüceyrənin vəziyyətini göstərir.

Hər oyundan sonra bir boş sətir gəlir. Giriş w = 0 və h = 0 olan testlə tamamlanır; bu halı emal etməyin.

Çıxış

Hər bir test üçün əvvəlcə oyunun nömrəsini çıxarın (nümunə çıxışa baxın), sonra 'bəli.' (əgər bütün 'x'-ləri maksimum bir səhvlə tapa bilirsinizsə) və ya 'xeyr.' (əgər ən azı iki səhv etmədən bütün 'x'-ləri tapmaq mümkün deyilsə) cavabını verin.

Hər oyundan sonra bir boş sətir çıxarın.

Nümunələr

Nümunə 1

Loading
Loading