DevLab

Adam Asdı

Orta
string
3000 ms
256 MB

"Adam Asdı" (Hangman) məşhur söz tapma oyunudur. Məqsəd gizlədilmiş sözün hərflərini bir-bir təxmin edərək sözü tam tapmaqdır. Siz bu oyunun arxa planındakı vəziyyət (state) məntiqini simulyasiya edən proqram yazmalısınız.

Oyunun Qaydaları:

  1. Başlanğıc Vəziyyəti: Oyun Ongoing (Davam edir) vəziyyətində başlayır. Gizli sözün bütün hərfləri alt xətt (_) ilə maskalanır (məsələn, "söz" -> ___). Oyunçunun 9 uğursuzluq haqqı (remaining failures) olur.

  2. Düzgün Təxmin: Təxmin edilən hərf gizli sözdə varsa, o hərfin bütün ehtimalları maskadan açılır. Uğursuzluq haqqı azalmır.

  3. Uğursuz Təxmin: Təxmin edilən hərf gizli sözdə yoxdursa, uğursuzluq haqqı (remaining failures) 1 vahid azalır.

  4. Təkrar Təxmin cəzası: Əgər eyni hərfi ikinci dəfə təxmin edərsinizsə (istər düzgün hərf olsun, istər səhv), bu avtomatik olaraq uğursuzluq (failure) sayılır və haqqınızı 1 vahid azaldır.

  5. Qələbə (Win): Bütün maskalanmış hərflər açıldıqda oyun Win vəziyyətinə keçir.

  6. Məğlubiyyət (Lose): Uğursuzluq haqqı 0-a düşdüyü an oyun hələ uduzulmuş sayılmır (bu "son şansdır"). Lakin 0 haqqınız varkən yenidən uğursuz təxmin etsəniz, oyun Lose vəziyyətinə keçir və haqqınız 0 olaraq qalır (mənfiyə düşmür).

  7. Xəta Halı (Error): Oyun Win və ya Lose vəziyyətinə keçdikdən sonra hər hansı yeni təxmin etmək qadağandır. Əgər belə bir cəhd olarsa, dərhal xəta mesajı qaytarılmalıdır.

Giriş verilənləri:

1-ci sətirdə gizli söz (ingilis əlifbasının kiçik hərfləri ilə).

2-ci sətirdə təxminlərin sayını bildirən N tam ədədi.

3-cü sətirdə aralarında boşluq olmaqla N ədəd hərf (təxminlər). Əgər N = 0 olarsa, bu sətir boş olacaq.

Çıxış verilənləri:

  • Əgər oyun bitdikdən sonra (Win/Lose) təxmin cəhdi olubsa, yalnız müvafiq xəta mesajını çap edin:

    Uduzduqdan sonra cəhd edilibsə: cannot guess after the game is lost

    Qazandıqdan sonra cəhd edilibsə: cannot guess after the game is won

  • Heç bir xəta yoxdursa, oyunun yekun vəziyyətini 3 sətirdə çap edin:

    State: <Ongoing/Win/Lose>

    Word: <maskalanmış söz>

    Remaining: <qalan uğursuzluq haqqı>

1Nümunə 1:
Giriş:
loot 0
Çıxış:
State: Ongoing Word: ____ Remaining: 9
2Nümunə 2:
Giriş:
loot 12 t o a b c d e f g h i j
Çıxış:
State: Lose Word: _oot Remaining: 0
REDAKTOR
Giriş edin
Giriş:
loot 0
Çıxış:
State: Ongoing Word: ____ Remaining: 9