Logo
(追記) (追記ここまで)

32733번 - Sõnatrikk 다국어인터랙티브

시간 제한메모리 제한제출정답맞힌 사람정답 비율
5 초 1024 MB43266.667%

문제

Ühel peol on peale sinu $N$ inimest. Sa tahad neile näidata üht väga lahedat trikki.

Sa ulatad igale inimesele märkmiku, mis on esialgu tühi. Seejärel seotakse su silmad kinni. Nüüd kordub järgnev protsess $Q$ korda:

  • Sinu ette astub üks inimene.
  • Sa võid temalt küsida kõige rohkem $K$ küsimust kujul "kas sinu märkmikus on kirjas sõna $x$". Ta vastab su küsimusele ausalt. Kui sõna $x$ tema märkmikus veel kirjas ei olnud, siis paneb ta selle sinna kirja.
  • Kui oled piisavalt küsimusi küsinud, pead ütlema ühe kahest asjast:
    • Sa astusid minu ette esimest korda; ma panen sulle hüüdnimeks $y$.
    • Sa oled minu ette juba varem astunud; ma panin sulle hüüdnimeks $y$.
  • Kui sa arvasid õigesti, siis inimene lahkub sinu juurest. Kui valesti, siis loetakse trikk ebaõnnestunuks ja sinu tegevus lõpetatakse.

Sinu ülesanne on kirjutada programm, mis selle triki edukalt sooritab.

커뮤니케이션

\suht See on interaktiivne ülesanne. Esiteks peab sinu programm lugema sisse neli täisarvu $N$ (1ドル \le N \le 900$), $Q$ (1ドル \le Q \le 900$), $K$ ($K = 75$) ja $A$ (1ドル \le A \le 4$), kus $A$ on testigrupi number (vt. sektsiooni Hindamine).

Küsimuse küsimiseks väljastada rida kujul 'kas $x$', kus $x$ on sõna. Sõna võib sisaldada kõiki sümboleid ASCII koodidega 33ドル \ldots 126,ドル see tähendab kõiki numbreid, inglise tähestiku suuri ja väikesi tähti ning enamlevinud kirjavahemärke (aga mitte tühikut). Sõna ei tohi olla pikem kui 30 tähemärki. Testimissüsteem väljastab selle peale eraldi reale kas sõna 'jah' või 'ei'.

Pakkumise tegemiseks väljastada rida kujul 'uus $y$' või 'vana $y$', kus $y$ on pandav/varem pandud hüüdnimi. Hüüdnimedele kehtivad samad reeglid mis sõnadelegi. Kui pakkumine oli õige, väljastab testimissüsteem selle peale eraldi reale sõna 'ok'.

Kui juhtub üks järgnevatest sündmustest:

  • sinu programm väljastab rea, mis ei vasta ülaltoodud spetsifikatsioonile, näiteks:
    • on tühi;
    • ei alga ühega sõnadest 'kas'/'uus'/'vana';
    • kasutab sõna/hüüdnime, mis on liiga pikk või sisaldab keelatud sümboleid;
    • sisaldab peale 'kas'/'uus'/'vana' ning sõna/hüüdnime veel mingit teksti;
  • sinu programm esitab järjest rohkem kui $K$ küsimust;
  • sinu programm üritab anda kellelegi hüüdnime, mis on varem juba kellelegi teisele antud;
  • sinu programm teeb pakkumise kujul 'vana $y$', kus hüüdnime $y$ pole kellelegi varem antud;
  • sinu programm teeb vale pakkumise,

siis väljastab testimissüsteem eraldi reale sõna 'viga'. Sel juhul teenib programm testi eest 0 punkti ja peab kohe töö lõpetama.

Testimissüsteem on adaptiivne: see tähendab, et sinu ette astuvate inimeste järjekord ei ole tingimata ette määratud, vaid testimissüsteem võib seda jooksvalt otsustada sõltuvalt sinu programmi käitumisest. Veelgi enam --- testimissüsteem ei pruugi isegi sinu ees olevat inimest välja valida enne, kui sinu programm pakkumise teeb. Küll aga on garanteeritud, et testimissüsteem vastab alati moel, mis on kooskõlas vähemalt ühe ette astunud inimeste järjekorraga.

Programmi tööaja sisse arvestatakse ka žürii testimisprogrammi kulutatud aeg. Žürii garanteerib, et testimissüsteemi kulutatud aeg ei ületa 3 sekundit.

입력

출력

제한

예제 입력 1

4 3 75 4
ei
ei
ok
ei
ei
jah
ok
ei
jah
ok

예제 출력 1

kas abc
kas def
uus tiku
kas def
kas ghi
kas def
uus taku
kas ghi
kas abc
vana tiku

힌트

출처

Olympiad > Estonian Informatics Olympiad > 2023-24 > Final Round 6번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /