Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
FR_08_14 - Przygody Informatyka Jonesa II |
Informatyk Jones odkrywa nieznane krainy, gdzie ludzie posługują się przedziwną mową. Pragnie przesyłać jej tajniki królowi Asemblordowi - władcy Programinii. Tak jak poprzednim razem nasz tytułowy bohater, ze względu na specyfikację Programinii (w każdym regionie lub mieście mówi się innym językiem programowania) musi napisać list do swego władcy, będący programem. Oczywiście wcielasz się w jego rolę i twoim zadaniem jest napisanie takiego programu. Tym razem Jones jest zainteresowany przypadkami, używanymi w tym dziwnym języku z gramatyką, oto zasady ich tworzenia:
Najpierw zacznijmy od faktu, iż w tym języku każdy rzeczownik posiada rodzaj, który zależy od ostatniej głoski.
Rodzaj męski |
Rodzaj żeński |
Rodzaj nijaki |
-a,-h,-k,-d,-g,-r,-t,-s,-p |
-b,-e,-o,-w,-i,-j,-l,-m,-u, |
-n,-f,-y,-z |
Jest to tabela, która przyporządkowuje każdej głosce, na którą kończy się dany wyraz, rodzaj tego wyrazu. Na przykład wyraz int miałby rodzaj męski, bo kończy się na -t, wyraz double miały rodzaj żeński, bo kończy się na -e, a wyraz sizeof byłby rodzaju nijakiego, bo kończy się na -f. Rodzaj jest zawsze stały i niezmienny dla danego wyrazu. Zacznijmy omówienie poszczególnych przypadków:
1. Mianownik (M.) - prosta sprawa, wypisujemy wyraz z wejścia.
2. Dopełniacz (D.) – dodajemy końcówki w zależności od rodzaju: -le w rodzaju męskim, -la w rodzaju żeńskim i –lo w rodzaju nijakim. Istnieje jeszcze zasada mówiąca, że jeżeli wyraz kończy się na układ: samogłoska-spółgłoska-samogłoska (np. while) to usuwamy ostatnią samogłoskę i dodajemy powyższe końcówki w zależności od rodzaju, poza tym jeżeli wyraz kończy się na połączenie dwóch lub więcej spółgłosek (np. int) to przed końcówką dopełniacza wstawiamy –e.
3. Celownik (C.) – dodajemy końcówki w zależności od rodzaju: -es w rodzaju męskim, -as w rodzaju żeńskim i –os w rodzaju nijakim. Ustępstwem od tej reguły będą sytuacje gdy:
-w rodzaju męskim wyraz kończy się na układ samogłoska-spółgłoska (np. for) to jeżeli dana samogłoska jest różna od –e oraz –i to usuwamy ostatnią spółgłoskę i dodajemy –es; jeżeli dana samogłoska to –i wtedy możemy usunąć ostatnią spółgłoskę jeśli przed –i stoi –n, -k lub –g;
-w rodzaju żeńskim lub nijakim wyraz kończy się na układ samogłoska-spółgłoska to jeżeli dana samogłoska dla rodzaju żeńskiego jest różna od –a oraz –i natomiast dla nijakiego jest różna od –o a także –i to usuwamy ostatnią spółgłoskę i dodajemy końcówki charakterystyczne dla rodzaju; jeżeli przedostatnia głoska to –i wtedy możemy usunąć ostatnią spółgłoskę jeżeli przed –i stoi –n.
4. Biernik (B.) - jeżeli wyraz kończy się na spółgłoskę charakterystyczną dla rodzaju żeńskiego lub męskiego to dodajemy -o, a jeżeli będzie to spółgłoska charakterystyczna dla rodzaju nijakiego dodajemy -a, jeżeli wyraz kończy się na -e, -o lub -y dodajemy –l; jeżeli wyraz kończy się na samogłoski -a, -u lub -i pozostawiamy bez zmian.
5. Narzędnik (N.) – przypadek nie jest zależny od rodzaju, zazwyczaj dodajemy –un, chyba, że: wyraz kończy się na –u wtedy dodajemy samo –n oraz jeśli wyraz kończy się na układ samogłoska-spółgłoska wtedy jeżeli dana samogłoska jest różna od -i oraz -u to usuwamy ostatnią spółgłoskę i dodajemy –un; jeżeli dana samogłoska to –i to możemy usunąć ostatnią spółgłoskę tylko wtedy jeżeli przed –i stoi –n.
6. Miejscownik (Ms.) – dodajemy końcówki w zależności od rodzaju: -je dla rodzaju męskiego, -ja dla rodzaju żeńskiego i –jo dla rodzaju nijakiego. Końcówki te możemy dodać jeżeli głoska –j nie występuje w wyrazie na ostatnim lub przedostatnim miejscu, w przeciwnym wypadku wyraz pozostawiamy bez zmian; jeżeli wyraz kończy się na układ samogłoska-spółgłoska-samogłoska to usuwamy ostatnią samogłoskę i dodajemy końcówkę w zależności od rodzaju; jeżeli wyraz kończy się na połączenie dwóch lub więcej spółgłosek to przed końcówką miejscownika dodajemy –e.
7. Wołacz (W.) – przypadek nie jest zależny od rodzaju, najczęściej dodajemy –eo, chyba, że: wyraz kończy się na –e wtedy dodajemy tylko –o oraz jeżeli wyraz kończy się na układ e-spółgłoska wtedy usuwamy daną spółgłoskę i dodajemy –o.
8. Possessivus (P.) – odpowiada na pytania czyj?, czyja?, czyje? (w języku polskim w jego roli używamy dopełniacza), przypadek ten nie jest zależny od rodzaju, zazwyczaj dodajemy –in, chyba, że: wyraz kończy się na –i wtedy dodajemy samo –n oraz jeżeli wyraz kończy się na układ samogłoska-spółgłoska wtedy jeżeli dana samogłoska jest różna od –i to usuwamy ostatnią spółgłoskę i dodajemy –in.
Wejście
W pierwszym wierszu wejścia znajduje się jedna niewielka liczba naturalna t oznaczająca liczbę zestawów danych. Każdy zestaw składa się z jednego wyrazu o długości do 25 znaków, będących tylko małymi literami. Podany wyraz ma formę mianownika.
Wyjście
Na wyjściu należy podać odmianę danego wyrazu przez powyższe przypadki w kolejności tak jak zostały podane. Na początku każdego wiersza należy umieścić skrót od danego przypadku (podane są w nawiasach powyżej), następnie należy podać daną formę rzeczownika (formę i skrót należy oddzielić). Poszczególne przypadki oddzielamy znakiem nowej linii. Poszczególne wyjscia dla danych zestawów testowych należy oddzielić znakiem nowej linii.
Przykład
Wejście:2
ilja
int
Wyjście:M. ilja
D. iljale
C. iljaes
B. ilja
N. iljaun
Ms. ilja
W. iljaeo
P. iljain
M. int
D. intele
C. intes
B. into
N. intun
Ms. inteje
W. inteo
P. intin
Dodane przez: | melehean |
Data dodania: | 2017-11-24 |
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 |