Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_07_07 - Przygody Informatyka Jonesa |
Nasz tytułowy bohater jest słynnym podróżnikiem, pochodzącym z Programinii. W kraju tym, wszyscy w zależności od regionu czy miasta mówią różnymi językami programowania. Na przykład w Trójmieście Języków C, gdzie miasta to: City, City++ i City#, ludzie mówią odpowiednio w języku C, C++ i C#. Ciekawym regionem jest również Okręg Przemysłowy Brainf*cktory, gdzie mówi się, a jakże, w Brainf*cku. Wróćmy, więc do naszego podróżnika. Król Asemblord – władca Programinii, zlecił mu misję zbadania odległych krain, leżących poza Programinią. Tym razem Informatyk Jones udał się do bardzo dziwnego kraju. Istoty tam żyjące nie mówią językiem programowania, lecz normalnym językiem z gramatyką. Długo zajęło mu poznanie i nauczenie się owej mowy, lecz w końcu udało się i zapragnął stopniowo wysyłać królowi tajniki jej gramatyki, lecz biorąc pod uwagę charakterystykę Programinii, nie pisał on zwykłych listów, lecz programy. Wysyłając „list” opisujący zasady tworzenia liczby mnogiej, napotkał pewne problemy. Oto zasady jej tworzenia:
- jeżeli w wyrazie występuje samogłoska –e to –e zmienia się w –i oraz jeżeli w wyrazie występuje samogłoska –a to –a zmienia się w –e,
- jeżeli w wyrazie nie występują samogłoski –a ani –e, ale jeżeli występuje samogłoska –o to –o zmienia się w –e, jeżeli –o, ani –a, ani –e nie występuje, ale występuje –u to –u zamieniamy w –e i jeżeli żadna z wymienionych samogłosek nie występuje to, jeżeli występuje samogłoska –y to –y zmienia się w –e,
- samogłoska –i nie ulega żadnym zmianom.
Zasady wydają się proste, lecz język ten charakteryzuje się pewnymi nadrzędnymi regułami:
- w każdym wyrazie musi znajdować się co najmniej jedna samogłoska,
- dwie lub więcej takich samych samogłosek nie mogą występować obok siebie, czyli połączenia typu –aa, -ee, –oo, -uu, -ii -yy są niedozwolone,
- samogłoski nie mogą być używane jako półsamogłoski, czyli –i nie może być używane jako –j, oznacza to, że nie mogą występować takie połączenia jak –ie, -ia, -io, iu, iy, chyba, że przed takim połączeniem występuje spółgłoska –n, wtedy należy to przeczytać jako polskie –ń oraz połączenie może być dozwolone, jeżeli przed połączeniem –ie występuje –k lub –g, ponieważ wtedy czytamy tak jak po polsku np. w wyrazach kiełbasa czy kiełki (połączenia –ei, -ai, –oi -ui, yi są jak najbardziej dozwolone).
Wciel się w rolę słynnego podróżnika Informatyka Jonesa i prześlij królowi „list”, w którym zostaną omówione zasady tworzenia liczby mnogiej. Nie trzeba się obawiać, że król nie zrozumie „listu”, ponieważ zna on wszystkie języki programowania. Zważ każde słowo, ponieważ władca Programinii posiada osobistego cenzora SPOJusza, który przedstawia królowi tylko poprawnie napisane „listy”.
Wejście
W pierwszym wierszu zostanie podana jedna, niewielka liczba naturalna t określająca liczę zestawów danych. Każdy zestaw składa się z jednego wyrazu zawierającego maksymalnie 25 znaków, będących jedynie małymi literami alfabetu łacińskiego (wszystkimi oprócz x i v) (wyrazy mogą, ale nie muszą spełniać zasad tego języka).
Wyjście
Na wyjściu należy podać liczbę mnogą, utworzoną od danego wyrazu (zgodnie z zasadami omówionymi powyżej). Samogłoski -a oraz -e należy zamieniać jednocześnie. Jeżeli w wyrazie pewna samogłoska nie może zostać zamieniona, ponieważ zamiana ta spowodowałaby złamanie którejkolwiek z reguł nadrzędnych, to nie zamieniamy danej samogłoski. Jeżeli w wyrazie pewna samogłoska nie może zostać zamieniona to nie oznacza to, że inne także nie mogą zostać zamienione. Jeżeli wyraz na wejściu nie spełnia którejkolwiek z reguł nadrzędnych należy wypisać: „wyraz niezgodny z zasadami mowy”.
Przykład
Wejście:
13 bool sqrt io hila gaur huo onge niea feal esa kear seanta eao Wyjście:
wyraz niezgodny z zasadami mowy wyraz niezgodny z zasadami mowy wyraz niezgodny z zasadami mowy hile geur hue ongi niea feal ise kier seante eao
Dodane przez: | melehean |
Data dodania: | 2017-04-07 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |