Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

AL_31_03 - Dziwny wirus...

Właśnie udało ci się zdobyć pracę w pewnej firmie na stanowisku opiekuna bazy danych użytkowników. Gdy przyszedłeś pierwszego dnia do pracy, dowiedziałeś się, że w nocy do bazy danych wkradł się wirus. Jego zadanie, o dziwo, nie polegało na usuwaniu informacji, lecz mieszaniu ich w taki sposób, aby były trudne do odczytania przez system.

Początkowo dane były zapisane w taki sposób, że każdy wiersz rozpoczynał się od pierwszej litery imienia użytkownika, po której umieszczona była kropka. Następnie znajdowało się nazwisko oraz wiek. Na ostatniej pozycji umieszczony był numer PESEL. Wirus pomieszał kolejność danych w wierszach, usunął odstępy między nimi, a następnie zmienił kolejność wierszy.

Twoim zadaniem jest napisanie programu, który naprawi szkody wyrządzone przez wirusa.

UWAGA! Z racji tego, że czas upływa, przyjmijmy, że data podczas wykonywania zadania to 7 stycznia 2017 roku.

Wejście

Wejście składa się z nieokreślonej liczby wierszy zawierających dane użytkowników po wymieszaniu ich przez wirusa. Należy przyjąć, że długość każdego z nazwisk nie przekracza 10 znaków, zaś wiek zawiera się w przedziale [18;39]. Gwarantujemy również, że numery PESEL użytkowników są poprawne i nie powtarzają się.

Wyjście

Na wyjściu należy wypisać dane użytkowników posortowane kolejno wg. następujących kryteriów:

  1. niemalejąco po nazwisku
  2. niemalejąco po imieniu
  3. nierosnąco po numerze PESEL

Dane w obrębie każdego wiersza powinny być ułożone zgodnie z ich stanem początkowym.

Przykład

Wejście:

J.18Kowalski98030103109
Kowalska19J.98010101105

Wyjście:

J. Kowalska 19 98010101105
J. Kowalski 18 98030103109

Dodane przez: 
Data dodania:2017-01-06
Limit czasu wykonania programu:1s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU
Pochodzenie:ALGOLIGA

ukryj komentarze
2017-01-07 18:59:25 Maciej Boniecki
Tak
2017-01-07 18:51:15 Grzegorz Spryszyñski
Wiek jest liczony co do dnia? Urodzony 7-ego stycznia 1999 będzie miał 18 lat? A urodzony 8-ego stycznia - 17 lat?
2017-01-07 17:09:42 Maciej Boniecki
1) Tak
2) Tak
3) Tak
4) Nie
5) Tak
6) Wielka
2017-01-07 17:02:13 Kamil Wajda
Prosiłbym o odpowiedzi na poniższe pytania:
1. Czy nazwisko jest zawsze niepuste?
2. Czy prawdą jest, że jedyne znaki jakie mogą się pojawić w danym wierszu wejścia to: a) małe litery alfabetu angielskiego b) duże litery alfabetu angielskiego c) cyfry d) dokładnie jedna kropka?
3. Czy nazwisko składa się wyłącznie z jednej wielkiej litery i pewnego (być może pustego) ciągu małych liter? Jeśli nie, to jakie znaki są dopuszczalne w nazwisku?
4. Czy w nazwisku mogą występować polskie znaki?
5. Czy przez sortowanie rozumiemy sortowanie w porządku leksykograficznym (dla każdego z pól)?
6. Mała czy wielka litera ma pierwszeństwo podczas sortowania niemalejącego?
2017-01-07 15:08:12 Maciej Boniecki
Doprecyzowując, wiek i PESEL mogą się znajdować obok siebie i wtedy tworzą 13 cyfrowy ciąg. Nie ma jednak takiej możliwości, aby wiek został wstawiony w środku numeru PESEL dzieląc go na dwie części.
2017-01-07 15:01:56
Tak
2017-01-07 14:55:48 Sebastian Toton
Czy możliwe jest, aby wiek zawierał się w peselu tworząc 13 cyfrowy ciąg?
2017-01-07 14:40:57 Maciej Boniecki
Tak
2017-01-07 14:34:21 Kamil Wajda
Czy po przestawieniu kolejności danych w wierszu przez wirusa kropka w dalszym ciągu znajduje się po 1szej literze imienia?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.