해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Vasya는 친구들의 전화번호를 기록해 둔 전화번호부를 여러 권 가지고 있다. 각 친구는 하나 또는 여러 개의 전화번호를 가질 수 있다.
Vasya는 친구들의 전화번호에 관한 정보를 정리하기로 했다. Vasya의 전화번호부에 있는 모든 항목인 n개의 문자열이 주어진다. 각 항목은 친구의 이름으로 시작한다. 그다음 현재 항목에 있는 전화번호의 개수가 나오고, 이어서 전화번호들이 나온다. 같은 전화번호가 동일한 항목에 여러 번 기록되어 있을 수도 있다.
또한 Vasya는 전화번호 a가 전화번호 b의 접미사이고(즉, 번호 b가 a로 끝나고), 두 번호가 모두 Vasya에 의해 같은 사람의 전화번호로 기록되어 있다면, a는 지역 번호 없이 기록된 것이므로 고려하지 않아야 한다고 생각한다.
Vasya의 친구들의 전화번호에 관한 정리된 정보를 출력해야 한다. 서로 다른 두 사람이 같은 번호를 가질 수도 있다. 한 사람이 두 번호 x와 y를 가지고 있고 x가 y의 접미사라면(즉, y가 x로 끝난다면), 번호 x를 출력해서는 안 된다. Vasya의 전화번호부에서 친구의 번호가 같은 형식으로 여러 번 기록되어 있다면, 정확히 한 번만 고려해야 한다.
문제 설명과 출력 형식을 더 잘 이해하려면 예제를 읽어 보라.
첫 번째 줄에는 Vasya의 전화번호부에 있는 항목의 개수를 나타내는 정수 n (1 ≤ n ≤ 20)가 주어진다.
이어지는 n개의 줄에는 문제 설명에 기술된 형식으로 항목의 정보가 주어진다. Names of Vasya's 친구 이름은 비어 있지 않은 문자열이며 길이는 10을 초과하지 않는다. 이름은 영문 소문자로만 이루어진다. 한 항목에 있는 전화번호의 개수는 1 이상 10 이하이다. 전화번호는 숫자로만 이루어진다. 전화번호를 문자열로 나타내면 그 길이는 1 이상 10 이하이다. 전화번호에는 앞쪽의 영이 포함될 수 있다.
Vasya의 친구들의 전화번호에 관한 정리된 정보를 출력한다. 먼저 Vasya의 전화번호부에서 발견된 친구의 수 m을 출력한다.
이어지는 m개의 줄에는 "name number_of_phone_numbers phone_numbers" 형식으로 항목을 출력해야 한다. 전화번호들은 공백으로 구분해야 한다. 각 항목에는 현재 친구의 모든 전화번호가 포함되어야 한다.
항목은 임의의 순서로 출력할 수 있으며, 한 항목의 전화번호들 역시 임의의 순서로 출력할 수 있다.
4
ivan 3 123 123 456
ivan 2 456 456
ivan 8 789 3 23 6 56 9 89 2
dasha 2 23 789
2
dasha 2 23 789
ivan 4 123 2 456 789
3
karl 2 612 12
petr 1 12
katya 1 612
3
karl 1 612
petr 1 12
katya 1 612
2
ivan 1 00123
masha 1 00123
2
ivan 1 00123
masha 1 00123