홍수
시간 제한1초메모리 제한1024 MB
높이가 모두 다른 그래프와 막히지 않은 하수구 목록이 주어질 때, 모든 하수구가 재귀적으로 더 낮은 막히지 않은 하수구와 연결되는지 판별한다.
문제
대전과학고등학교에는 비가 내릴 때 효율적인 배수를 위해 부터 까지 번호가 붙은 개의 하수구가 설치되어 있다. 번째 하수구는 높이 를 가지고 있으며, 모든 하수구의 높이는 서로 다르다. 서로 다른 두 하수구를 연결하는 양방향 간선인 배수로가 개 이상 존재한다. 임의의 두 하수구 사이에는 배수로가 최대 한 개만 존재한다.
가끔 하수구가 막히면 하수구에 물이 고이기도 한다.
물이 고이지 않는 하수구는 다음 조건 1. 또는 조건 2.를 만족하는 하수구라고 재귀적으로 정의한다.
- 막히지 않은 하수구이다.
- 자신과 하나의 배수로로 연결된 하수구 중에서 물이 고이지 않는 하수구이며 자신보다 높이가 작은 하수구가 존재한다.
만약 어떤 하수구가 물이 고이지 않는 하수구가 아니라면, 이 하수구는 물이 고이는 하수구이다.
만약 물이 고이는 하수구가 하나라도 존재한다면, 비가 많이 오는 날 학교에 홍수가 나고 말 것이다! 학교에 홍수가 날 것인지 판별해 보자.
입력
첫째 줄에 하수구의 개수 과 배수로의 개수 이 주어진다.
둘째 줄에 각 하수구의 높이를 나타내는 개의 정수 이 공백으로 구분되어 주어진다. 이면
다음 개의 줄에 걸쳐 정수 와 가 공백으로 구분되어 주어진다. 이는 번 하수구와 번 하수구가 배수로로 서로 연결되어 있음을 의미한다. 같은 배수로가 두 번 이상 주어지지 않는다.
다음 줄에 막히지 않은 하수구의 개수 가 주어진다.
다음 줄에 막히지 않은 하수구의 번호를 나타내는 개의 정수 가 공백으로 구분되어 주어진다. 모든 에 대해
출력
모든 하수구가 물이 고이지 않는 하수구일 경우 no flood를 출력한다. 물이 고이는 하수구가 하나라도 있을 경우 flood를 출력한다.