ITAI 바이러스
면접 대비시간 제한1초메모리 제한256 MB
바이러스가 발견된 도시와 도로 하나로 직접 연결된 도시를 모두 세합니다.
문제
Insane Transferable Abnormal Illness, 줄여서 ITAI는 어느 도시의 남쪽 지역에서 처음 발견된 바이러스성 질병이다. 이 바이러스에 걸린 사람은 "이타이, 이타이!"라고 쉬지 않고 소리를 지른다.
바이러스는 어떤 도시에 나타나면 둘로 분열해서 그 도시에 닿아 있는 모든 도로를 따라 퍼진다. 처음 있던 도시에도 바이러스는 그대로 남는다. 다만 ITAI 바이러스는 약해서, 다른 도시로 옮겨 간 뒤에는 더 퍼지지 못하는 약한 바이러스로 변한다.
한 나라에 도시가 개 있고, 번호는 1번부터 번까지다. 도로는 개다. 보건부가 조사해서 개 도시에서 바이러스를 찾아냈다. 이 개 도시의 바이러스는 모두 아직 퍼질 수 있는 새 바이러스다.
바이러스가 모두 퍼지고 난 뒤에 바이러스가 있는 도시가 몇 개인지 구하시오.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
각 테스트 케이스는 다음과 같이 주어진다.
- 첫째 줄에 도시의 수 , 도로의 수 , 바이러스가 발견된 도시의 수 가 주어진다. (, , )
- 다음 개 줄에는 도로를 나타내는 두 정수 와 가 주어진다. (, ) 이 도로는 도시 와 도시 를 양방향으로 잇는다. 같은 도시 쌍을 잇는 도로가 여러 개일 수 있고, 와 가 같을 수도 있다.
- 다음 줄에는 바이러스가 발견된 도시의 번호 개가 주어진다. 가 0이면 이 줄은 비어 있다.
출력
각 테스트 케이스마다 바이러스가 있는 도시의 수를 한 줄에 하나씩 출력한다.
힌트
바이러스가 있는 도시는 처음에 바이러스가 발견된 도시와, 그 도시와 도로로 직접 이어진 도시를 모두 합한 것이다. 도로를 두 번 이상 건너가야 닿는 도시에는 바이러스가 퍼지지 않는다.