내 이름 나무

시간 제한2초메모리 제한1024 MB

요약
친구 관계 그래프가 주어질 때, 최단 거리가 K 이하인 두 사람이 같은 이름을 쓰는지 판별한다.
난이도

보통10점 중 5점

유형
그래프, BFS, 해시맵
정답자
아직 제출이 없습니다

문제

근성은 나무에 관심이 많다.

종현과 맥X날드에서 햄버거를 먹으며 미래를 논의하던 근성은 험난하디 험난한 코딩 세상에서 산림자원학과의 본질을 지키기 위한 다짐으로 이름을 김트리로 개명하였다. 이를 보고 감명을 받은 많은 전남대 사람들이 '고 속푸리에변환', '정 수자료형인티져', '이 웃오브바운드익셉션' 등의 이름으로 개명하기 시작하였다.

정환은 복학하기 전 전남대의 최신 유행에 따라 개명하려 한다. 하지만 슬프게도 정환이 개명하고자 하는 이름과 같은 이름을 가진 사람이 정환의 주변에 있어 개명을 해도 될지 걱정이 되었다.

고민하던 정환은 임의의 SNS 그룹을 조사하였다. 조사한 그룹에서 어느 한 명이라도 주변 KK거리 이내의 친구1와 동일한 이름을 가지는 사람이 있다면, 동일한 이름을 가져도 문제가 없다고 판단하고 개명을 하기로 마음먹었다. 정환이 확인할 SNS에서는 원하는 사람만 이름을 공개하기에 정환은 이름이 공개된 사람들 사이의 중복만 확인한다.

정환이 주어진 상황에서 개명이 가능한지 판단하시오.

1KK거리 이내의 친구는 사람을 노드, 친구 사이를 길이 1의 간선으로 보았을 때 두 노드 사이의 최단 거리가 KK이하인 친구를 말한다.

입력

첫 번째 줄에 정환이 조사하기로 한 SNS 그룹의 사람 수 NN, 사람들 간의 관계 수 MM, 확인할 거리 수 KK가 공백으로 구분되어 주어진다.

두 번째 줄에 SNS에 포함된 사람 중 이름이 공개된 사람의 수 WW가 주어진다.

세 번째 줄부터 WW개의 줄에 걸쳐 이름이 공개된 사람들의 번호와 이름이 uu ss 형식으로 주어진다. 이는 uu번 사람의 이름이 ss라는 뜻이다. 이때, 서로 다른 이름의 가짓수는 최대 1,0001\\,000개이다.

W+3W + 3번째 줄부터 MM개의 줄에 걸쳐 사람들의 관계가 aa bb 형식으로 주어진다. 이는 aa번 사람과 bb번 사람이 서로 친구라는 뜻이다.

출력

첫 번째 줄에 정환이 이름을 변경할 수 있다면 POWERFUL CODING JungHwan을, 변경할 수 없다면 so sad를 출력한다.

제한

  • 2≤N≤35,0002 \le N \le 35\\,000
  • 1≤M≤min⁡(35,000,(N×(N−1))/2)1 \le M \le \min(35\\,000, (N \times (N - 1))/2)
  • 1≤K≤N1 \le K \le N
  • 1≤W≤N1 \le W \le N
  • 1≤u≤N1 \le u \le N
  • 1≤∣s∣≤2001 \le | s | \le 200
  • 1≤a,b≤N1 \le a,b \le N, a≠ba \neq b
  • 입력으로 주어지는 모든 수는 정수이다.
  • ss는 알파벳 소문자로 구성되어 있는 문자열이다.

예제2

  1. 예제 1

    입력
    6 6 3
    4
    1 kgs
    2 jyd
    3 pjh
    4 kgs
    1 5
    1 2
    5 2
    2 6
    6 4
    4 3
    
    예상 출력
    POWERFUL CODING JungHwan
    
  2. 예제 2

    입력
    6 6 2
    4
    1 kgs
    2 jyd
    3 pjh
    4 kgs
    1 5
    1 2
    5 2
    2 6
    6 4
    4 3
    
    예상 출력
    so sad