Gəmilər
Yəqin kim ki, nə zamansa məktəbdə oxumuşdursa, belə bir oyun olduğunu bilir: iki oyunçu müəyyən sayda gəmiləri kağız vərəqinin xanalarında yerləşdirir və bir-birilərinin gəmilərinin yerlərini taparaq məhv etməyə çalışırlar.
Bizim versiyamızda oyunda sizə və rəqibinizə növbəti yeddi gəmi modelini düzbucaqlı torda uyğun kvadratlarda yerləşdirməklə istifadə etməyə icazə verilir.
Şəkildəki hər bir gəmi düz dörd kvadratı əhatə edir. Gəmiləri döndərmək olar, lakin simmetrik çevirmək olmaz. Zəmanət verilir ki, bütün gəmilər verilmiş düzbucaqlının sərhədləri daxilində tamamilə bir-birinin üzərini örtməmək şərti ilə yerləşdiriləcəkdir, eyni zamanda digər gəmiyə və ya sərhəddinə toxunmasına icazə verilir.
Hesab edə bilərsiniz ki, biz oyunun ortasındayıq və bəzi kvadratlar artıq açılmışdır. Sizə rəqibin gəmilərinin oyundakı cari vəziyyətini əks etdirən kvadratlar haqqında informasiya olan düzbucaqlı tor veriləcək:
'x' əgər göstərilən xanada gəminin bir hissəsi olarsa
'o' əgər göstərilən xanada heç bir gəmi olmazsa
'.' əgər bu xana hələ də açılmayıbsa
Bu informasiyaya malik olmaqla siz həll etməlisiniz ki, gəminin bütün qalan ("х") hissələrinin yerləşməsini birdən çox yanılma olmamaqla təyin etmək olarmı, yəni siz "х" simvolu ilə işarə ediləcək bütün xanaları açmaq üçün bu zaman ("о") yanılma haqqında birdən artıq cavab almadan "." simvollu bütün xanaları birdən artıq yanılma olmadan aça bilərsinizmi.
Giriş verilənləri
Giriş faylı bir neçə oyun situasiyanı ehtiva edir. Hər bir test iki w və h ədədlərini ehtiva edən sətirlə başlayır. Onlar düzbucaqlı oyun sahəsinin uzunluğunu və hündürlüyünü ifadə edirlər, bu halda 2 ≤ w, h ≤ 16.
Növbəti hər bir h sətri w simvoldan ibarət sətri ehtiva edir. Bu simvollardan hər biri uyğun xananın vəziyyətindən asılı olaraq 'x', 'o' və ya '.' simvollarından biridir.
Boş sətir hər bir yeni oyunu əvvəlkindən ayırır. Giriş faylı w = 0 və h = 0 verilənləri ilə tamamlanır. Bu halı emal etmək lazım deyil.
Çıxış verilənləri
Hər bir test üçün əvvəlcə oyunun nömrəsini göstərən sətri (çıxış verilənlərinə nümunəyə baxın), daha sonra ya 'yes.' (əgər siz birdən çox yanılmadan bütün 'x'-ləri təyin edərsinizsə), ya da 'no.' (əgər siz ən azı iki dəfə yanılmadan bütün 'x'-ləri təyin edərsinizsə) vermək lazımdır.
Hər müxtəlif oyun arasında boş sətir vermək lazımdır.