H - JuchČasový limit: 2s, Pamäťový limit: 64MiBProgramovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11Počet bodov: 1 [ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ] Juch sa hrá so „sedmovými“ kartami, teda so sadou 32 kariet štyroch farieb – srdcia (hearts), gule (bells), listy (leaves) a žalude (acorns) – po osem hodnôt – v poradí od najhodnotnejšej po najmenej hodnotnú A (eso), K (kráľ), Q (horník), J (dolník), T (10), 9, 8, 7. Pravidlá hry Juch sú nasledujúce:
(Pravidlá nesúvisiace s úlohou, napríklad cieľ hry a bodovanie, boli vynechané.) Ako vidíte, táto hra má jeden problém: Hráč, ktorého protihráči nemajú dobrú pamäť, môže ľahko podvádzať – jednoducho vyloží kartu inej farby ako začínajúci hráč, napriek tomu, že kartu takejto farby ešte má. Ostatní hráči v tejto chvíli nemajú šancu odhaliť takýto podvod, môžu na to prísť až neskôr, keď podvádzajúcemu hráčovi ostane na vyloženie už len karta farby, ktorú predtým „nepriznal“ – to už si však nemusia pamätať. Vašou úlohou teda bude napísať program, ktorý pomôže aj hráčom s horšou pamäťou odhaliť podvodníkov. ÚlohaDaný je priebeh jednej hry Ch., teda postupnosť 32 vyložených kariet. Vašou úlohou je zistiť, či niektorý hráč podvádzal.VstupPrvý riadok vstupu obsahuje kladné celé číslo T ≤ 1000 určujúce počet vstupných sád. Nasledujúcich T riadkov obsahuje označenia 32 kariet oddelené medzerami, teda zoznam kariet v poradí, ako boli vyložené. Označenie karty je tvorené dvoma znakmi, prvý reprezentuje jej hodnotu (A, K, Q, J, T, 9, 8, 7) a druhý reprezentuje jej farbu (H, B, L, A). Môžete predpokladať, že na vstupe je priebeh hry, ktorá sa mohla uskutočniť, teda že sa tam každá karta nachádza práve raz a že prvá karta je vždy 7B.VýstupPre každú sadu zo vstupu vypíšte jeden riadok obsahujúci buď reťazec „OK“, ak žiaden hráč nepodvádzal, alebo reťazec „Hrac X podvadzal v Y. kole”, kde X je číslo 1, 2, 3 alebo 4 podľa poradia, v ktorom hráč vyhadzoval kartu v prvom kole a Y je poradie kola, v ktorom hráč podvádzal. Ak sa v hre vyskytlo viacero podvodov, vypíšte informácie o prvom z nich.PríkladVstup:2 7B AB AH QA TL 8L 9L 7L TB KH JB KB 9H 8H 7H JL JA 9A TA KL TH AA QH QL 7A 9B KA 8A AL QB JH 8B 7B 9B QB AB JB TB 8B KB 7A 9A JA TA 8H 7H AH QH TH 9H QA JH 8L KL JL TL AA KA 8A QL KH 7L 9L AL Výstup:Hrac 4 podvadzal v 1. kole OK Vysvetlenie prvej hry:V prvom kole hráč 4 vyloží žaluďového horníka, napriek tomu, že má guľovú kartu (to ale ešte nevieme). Prvé kolo vezme hráč 2, ktorý vyložil guľové eso, a teda tento začne druhé kolo. Toto prebehne v poriadku, vezme ho znovu hráč 2. Tretie kolo začne hráč 2 opäť guľou. Hráč 4 (tretí v poradí v tomto kole) však tentoraz vyloží guľovú kartu (JB), a teda jeho podvod z prvého kola vyjde najavo. Zvyšné kolá sú v poriadku. |