Prihlásenie Registrácia  

C2 - Ostrov na mori

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

V dávnych časoch, keď ešte piráti brázdili neľútostné moria Karibiku, žil aj pirát Jonatán. Počas svojej dobrodružnej pirátskej kariéry sa mu podarilo nazhromaždiť celkom pekný poklad. Rozhodol sa preto, že ho nebude už viac celý vláčiť so sebou a uloží ho na niektorý z početných ostrovo, ktoré sa v Karibiku nachádzajú. Vzdelanie ale nebolo jeho silnou stránkou o nejakej zemepisnej šírke a dĺžke ani nechyroval. Cestu k ostrovu si preto poznačil na papier spôsobom, ktorý aj on vedel bez problémov pochopiť.

Na mapu celej oblasti si nakreslil veľký obdĺžnik a pod neho si poznačil: "Ostrov sa nachádza v severnej časti západnej časti obdĺžnika."

Mapa

Pri pohľade na mapu si ale uvedomil, že táto oblasť je stále dosť veľká a ľahko sa môže stať, že ostrov nenájde. Pokračoval pritom v spresňovaní: "Ostrov sa nachádza v južnej časti východnej časti severnej časti západnej časti obdĺžnika."

Mapa

Ani to sa mu nezdalo dosť presné a tak pokračoval a pokračoval. Nakoniec mal takýmto spôsobom zaznamenanú úplne presnú polohu ostrova, no nič mu to nebolo platné, keďže mapu prehral ešte v ten večer v kartách. Ostatní piráti našťastie neboli schopní polohu z mapy rozlúštiť a tak sa poklad aj s mapou zachoval do týchto dní.

Úloha

Napíšte program, ktorý načíta súradnice X1, Y1, X2 a Y2 a slovný popis pod mapou a zistí, kde sa ostrov nachádza.

Vstup

Prvý riadok vstupu obsahuje štyri prirodzené čísla oddelené medzerou X1, Y1, X2, Y2, kde X1 < X2 a Y1 < Y2. V druhom riadku je reťazec lokalizujúci ostrov. Tento reťazec bude mať nasledujúci formát:
  • začne sa slovami "Ostrov sa nachadza v "
  • potom pokračuje niekoľko dvojíc slov oddelených medzerami, prvé slovo udáva, ktorú časť berieme a bude to jedno z týchto: "severnej", "juznej", "vychodnej", "zapadnej", a druhé slovo bude "casti". Slová "severnej" a "juznej" nám rozdelia výšku hľadaného regiónu napoly a slová "vychodnej" a "zapadnej" nám rozdelia šírku hľadaného regiónu napoly. Môžete predpokladať, že vždy sa bude dať deliť presne napoly, t.j. bezo zvyšku.
  • reťazec sa končí slovom "obdlznika."

Výstup

Výstupom majú byť štyri celé čísla v jednom riadku, ľavý dolný okraj (X1, Y1) a pravý horný okraj (X2, Y2) regiónu, v ktorom sa ostrov nachádza.

C1

1 ≤ X1, X2, Y1, Y2 ≤ 200. Reťazec bude obsahovať minimálne jednu a maximálne štyri upresnenia polohy, teda napríklad: "Ostrov sa nachadza v zapadnej casti juznej casti vychodnej casti severnej casti obdlznika."

C2

1 ≤ X1, X2, Y1, Y2 ≤ 9 000 000 000 000 000 000 (viac ako 262 ale menej ako 263). Reťazec bude obsahovať minimálne jednu a maximálne 120 upresnení polohy.

Príklad 1

Vstup:

1 1 9 13
Ostrov sa nachadza v severnej casti zapadnej casti obdlznika.

Výstup:

1 7 5 13

Vysvetlenie:

Západná časť mapy má súradnice [1,1] až [5,13]. Z tejto časti zoberieme severnú časť, ktorá má súradnice [1,7] až [5,13], čo je výsledok.

Príklad 2

Vstup:

35 8 163 136
Ostrov sa nachadza v zapadnej casti juznej casti vychodnej casti severnej casti obdlznika.

Výstup:

99 72 131 104