Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
NAMES - Imiona |
Na wydziale FTiMS wdrożono niedawno eksperymentalny system analizy pisma ręcznego (OCR). System będzie wykorzystywany przez wykładowców m. in. do automatycznego przetwarzania list obecności do postaci cyfrowej. System przeszedł dość wymagającą procedurę QA i obecnie mamy pewność, że podpisy nawet bardzo brzydko piszących studentów zostaną prawidłowo rozpoznane. Jedyny znany i jeszcze nie poprawiony bug polega na tym, że czasem małe litery są rozpoznawane jako wielkie i odwrotnie. Np. 'j' w podpisie może zostać zinterpretowane jako 'J' (ale nigdy jako inna litera).
Jeden z wykładowców postanowił wykorzystać system do przeprowadzenia pewnych badań statystycznych. Interesuje go mianowicie frekwencyjność imion wśród jego studentów. Napisz program, który pomoże wykładowcy w tych badaniach.
Wejściem Twojego programu jest lista obecności wygenerowana przez system OCR, składająca się z pewnej liczby wierszy w następującym formacie:
[nr][kropka][spacja][nazwisko][spacja][imie]
Twój program powinien wygenerować po jednym wierszu tekstu dla wszystkich różnych imion pojawiających się na liście. Każdy z tych wierszy powinien mieć format:
[imie wielkimi literami][spacja][liczba wystąpień]
Wyświetlane wiersze powinny być posortowane według malejącej liczby wystąpień, a przy remisach według porządku alfabetycznego imion (por. przykład).
Możesz założyć, że [nr] będzie poprawną liczbą całkowitą dodatnią nie większą od 100 000, a wszystkie nazwiska i imiona będą spójnymi ciągami liter (małych lub wielkich) alfabetu angielskiego o długości nie przekraczającej 20. Długość listy nie przekroczy 100 000 wierszy.
Przykład
Input: 1. KowalSki JaCEk 2. mazurkiewicz pIoTR 3. prokoP ANna 4. MisioL annA 5. BerezOwSki jaCEK 6. pietraS ANNA 7. WILkowsKA aneta Output: ANNA 3 JACEK 2 ANETA 1 PIOTR 1
Dodane przez: | Kuba Białogrodzki |
Data dodania: | 2006-05-01 |
Limit czasu wykonania programu: | 1.051s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ERL GOSU JS-RHINO NODEJS PERL6 VB.NET |