Ako sa sa dni krátili a noci predlžovali, Naďka prehľadávala celú T2 v nádeji, že nájde čokoládu, ktorú plánuje doniesť na kapustnicu Trojstenu ako zákusok. “Aha, tak tu si!” zvolala, keď ju konečne našla v Krtkovom zakladači. Naďkina čokoláda však nebola len tak obyčajná. Mala rozmery $1 \times k$ a každá tablička bola buď mliečna, alebo horká. Dokonca sa Naďka rozhodla, že túto čokoládu nerozdá len tak náhodným spôsobom – každému Trojstenákovi na kapustnici dá jeden súvislý kus čokolády, ktorý je dlhý najmenej $l$ a najviac $r$ a obsahuje práve jednu horkú tabličku. Dokáže Naďka takúto čokoládu rozdeliť medzi Trojstenákov na kapustnici bez toho, aby jej nejaká zvýšila?
Na kapustnicu príde $n$ Trojstenákov medzi ktorých chce Naďka rozdeliť svoju čokoládu s rozmermi $1 \times k$. Platia nasledujúce pravidlá:
každá tablička čokolády je buď mliečna, alebo horká,
každý Trojstenák dostane práve jeden súvislý kus čokolády, ktorého najmenšia dĺžka môže byť $l$ a najväčšia $r$,
každý Trojstenák dostane práve jednu horkú tabličku.
Vašou úlohou je povedať, či Naďka dokáže čokoládu rozdeliť bez toho, aby jej nejaký kúsok ostal.
V prvom riadku vstupu dostanete štyri celé čísla oddelené medzerami:
počet Trojstenákov na kapustnici $n$,
počet tabličiek čokolády $k$,
najkratší možný kus čokolády $l$,
najdlhší možný kus čokolády $r$.
Na nasledujúcom riadku dostanete popis čokolády, ktorý obsahuje zasebou idúce 0 a 1, pričom 0 je mliečna tablička a 1 je horká tablička.
Vypíšte jeden riadok obsahujúci odpoveď ano, ak sa čokoláda dá rozdeliť bez toho, aby nejaká zvýšila alebo nie, ak sa to nedá.
Sú $4$ sady vstupov po $2$ body. Platia v nich nasledovné obmedzenia:
| Sada | MATH_STASH_13_ENDSTASH | MATH_STASH_14_ENDSTASH | MATH_STASH_15_ENDSTASH | MATH_STASH_16_ENDSTASH |
|---|---|---|---|---|
| MATH_STASH_17_ENDSTASH | MATH_STASH_18_ENDSTASH | MATH_STASH_19_ENDSTASH | MATH_STASH_20_ENDSTASH | MATH_STASH_21_ENDSTASH |
| MATH_STASH_22_ENDSTASH | MATH_STASH_23_ENDSTASH | MATH_STASH_24_ENDSTASH | MATH_STASH_25_ENDSTASH | MATH_STASH_26_ENDSTASH |
| MATH_STASH_27_ENDSTASH | MATH_STASH_28_ENDSTASH | MATH_STASH_29_ENDSTASH | MATH_STASH_30_ENDSTASH | MATH_STASH_31_ENDSTASH |
| MATH_STASH_32_ENDSTASH | MATH_STASH_33_ENDSTASH | MATH_STASH_34_ENDSTASH | MATH_STASH_35_ENDSTASH | MATH_STASH_36_ENDSTASH |
Input:
3 11 2 4
01000010001
Output:
ano
Naďka môže čokoládu rozdeliť napríklad takto: 0100 0010 001
Input:
3 11 2 4
01000000101
Output:
nie
Naďka nevie rozdeliť čokoládu tak, aby splnila všetky podmienky a aby jej žiadna tablička nezvýšila.
Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.
Trojsten, o.z.
FMFI UK, Mlynská dolina
842 48 Bratislava
Programátorská súťaž pre základoškolákov
Materiály a úlohy na výučbu programovania
Intenzívny programátorský zážitok v lete