Prihlásenie Registrácia  

E - Dijkstrova úloha

Č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 ]

Profesor Dijkstra zadal na konci svojho kurzu z programovania svojej triede pozostávajúcej z päťdesiatich študentov nasledujúcu úlohu: Daný je vstupný reťazec skladajúci sa z jedného alebo viacerých slov (pričom slovo pozostáva z aspoň jedného, nie však viac ako dvadsiatich písmen anglickej abecedy), kde každá dvojica za sebou idúcich slov je oddelená aspoň jednou medzerou. Pred prvým a za posledným slovom môžu, ale nemusia byť žiadne medzery. Reťazec je ukončený bodkou.

Úlohou je vypísať rovnaký reťazec, až na nasledujúce zmeny:

  • medzi dvojicou po sebe idúcich slov má byť práve jedna medzera,
  • pred prvým a za posledným slovom nesmie byť žiadna medzera,
  • keby sme očíslovali slová zľava doprava postupne číslami 0, 1, 2, ... v poradí, v akom sa nachádzajú na vstupe, tak vo výstupe sa slová s párnym číslom majú vyskytovať nezmenené, zatiaľ čo slová s nepárnym číslom sa majú vyskytovať obrátené.
Dijkstrovi študenti vyriešili túto úlohu za 90 minút. Dokážete to rýchlejšie?

Vstup

Vstup obsahuje jediný riadok s reťazcom skladajúcim sa len z písmen anglickej abecedy a medzier, ukončený bodkou. Dĺžka reťazca (bez bodky) nepresiahne 250 znakov. Slová nie sú dlhšie ako 20 písmen. Môžete predpokladať, že v reťazci je aspoň jedno slovo.

Výstup

Výstup by mal obsahovať jediný riadok s upraveným vstupným reťazcom, podľa pravidiel popísaných vyššie. Reťazec by mal byť ukončený bodkou (a znakom pre koniec riadku).

Príklad

Vstup

  Toto   je Dijkstrova     uloha  .

Výstup

Toto ej Dijkstrova aholu.