소방차는 빨간색이다

시간 제한5초메모리 제한512 MB

요약
n명의 사람마다 그를 설명하는 서로 다른 정수들의 집합이 주어질 때, 같은 수 r을 공유하는 두 사람을 잇는 간선 (p, q, r) n-1개로 모든 사람을 연결하거나 불가능하다고 판정하는 문제.
난이도

보통10점 중 6점

유형
유니온 파인드, 그래프, 해시맵, 구현
정답자
아직 제출이 없습니다

문제

Lily는 숫자에 매료되어 있다. 그녀는 세상이 숫자를 중심으로 돌아가고, 모든 것이 숫자로 연결되어 있다고 믿는다. 그녀의 친구 Alice, Bob, Charlie, Diane은 이를 믿지 않는다. 그래서 Lily는 예를 하나 든다.

Alice는 그녀가 사는 거리의 25번 집에 살고 있는데, 그 수는 정확히 Bob의 나이다. Bob은 6월 4일에 태어났고, Charlie는 그의 부모의 넷째 아이였다. 마지막으로 Diane은 왼손에 손가락이 다섯 개 있는데, 이는 Bob이 오른발에 가진 발가락 수와 같다!

이 예는 Lily의 친구들이 모두 숫자로 직접 또는 간접적으로 연결되어 있음을 보여준다. 하지만 그녀는 가족과 직장 동료들도 설득해야 한다.

n명의 사람들이 주어지고, 각 사람을 설명하는 숫자 집합이 주어졌을 때, 이 집단의 모든 사람이 숫자로 직접 또는 간접적으로 연결되어 있음을 보이는 증명을 Lily가 만들도록 돕거나, 그것이 불가능함을 판정하라.

입력

입력은 다음과 같다.

  • 한 줄에 정수 n (2 ≤ n ≤ 2 · 105)이 주어지며, 이는 집단에 속한 사람 수이다. 사람들은 1부터 n까지 번호가 매겨진다.
  • n개의 줄이 집단의 사람들을 설명한다. i번째 줄은 정수 mi (1 ≤ mi ≤ 2 · 105)로 시작하며, 이는 i번째 사람을 설명하는 숫자의 개수이다. 그 줄의 나머지 부분에는 mi개의 서로 다른 정수 di,1, . . . , di,mi (각 j에 대해 1 ≤ di,j ≤ 109)가 주어지며, 이는 i번째 사람을 설명하는 숫자 집합이다.

모든 mi의 합은 2 · 105 이하임이 보장된다.

출력

n − 1개의 줄로 증명을 출력하라. 각 줄은 세 정수 p, q, r을 포함하며, p와 q는 서로 다른 사람이고 둘 다 숫자 r로 설명된다. 이 관계들만 사용하여 집단의 임의의 두 사람이 직접 또는 간접적으로 연결되어 있음을 보일 수 있어야 한다.

그러한 증명이 존재하지 않으면 “impossible”을 출력하라. 증명이 여러 개라면 그중 아무거나 출력해도 된다.

예제2

  1. 예제 1

    입력
    6
    2 17 10
    1 5
    2 10 22
    3 17 22 9
    2 17 8
    3 9 22 16
    
    예상 출력
    impossible
    
  2. 예제 2

    입력
    6
    2 17 10
    2 5 10
    2 10 22
    3 17 22 9
    2 17 8
    3 9 22 16
    
    예상 출력
    1 3 10
    2 3 10
    3 4 22
    4 5 17
    4 6 9