Logo
(追記) (追記ここまで)

34697번 - 홍수

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB89666072.289%

문제

대전과학고등학교에는 비가 내릴 때 효율적인 배수를 위해 1ドル$부터 $N$까지 번호가 붙은 $N$개의 하수구가 설치되어 있다. $i$번째 하수구는 높이 $h_i$를 가지고 있으며, 모든 하수구의 높이는 서로 다르다. 서로 다른 두 하수구를 연결하는 양방향 간선인 배수로가 0ドル$개 이상 존재한다. 임의의 두 하수구 사이에는 배수로가 최대 한 개만 존재한다.

가끔 하수구가 막히면 하수구에 물이 고이기도 한다.

물이 고이지 않는 하수구는 다음 조건 1. 또는 조건 2.를 만족하는 하수구라고 재귀적으로 정의한다.

  1. 막히지 않은 하수구이다.
  2. 자신과 하나의 배수로로 연결된 하수구 중에서 물이 고이지 않는 하수구이며 자신보다 높이가 작은 하수구가 존재한다.

만약 어떤 하수구가 물이 고이지 않는 하수구가 아니라면, 이 하수구는 물이 고이는 하수구이다.

만약 물이 고이는 하수구가 하나라도 존재한다면, 비가 많이 오는 날 학교에 홍수가 나고 말 것이다! 학교에 홍수가 날 것인지 판별해 보자.

입력

첫째 줄에 하수구의 개수 $N$과 배수로의 개수 $M$이 주어진다. $(1 \le N \le 200,000円;$ 0ドル \le M \le \min(200,000,円 \cfrac{N \times (N - 1)}{2}))$

둘째 줄에 각 하수구의 높이를 나타내는 $N$개의 정수 $h_1, h_2, \dots, h_N$이 공백으로 구분되어 주어진다. $(1 \le h_i \le 10^9;$ $i \neq j$이면 $h_i \neq h_j)$

다음 $M$개의 줄에 걸쳐 정수 $u$와 $v$가 공백으로 구분되어 주어진다. 이는 $u$번 하수구와 $v$번 하수구가 배수로로 서로 연결되어 있음을 의미한다. 같은 배수로가 두 번 이상 주어지지 않는다. $(1 \le u < v \le N)$

다음 줄에 막히지 않은 하수구의 개수 $K$가 주어진다. $(1 \le K \le N)$

다음 줄에 막히지 않은 하수구의 번호를 나타내는 $K$개의 정수 $a_1, a_2, \cdots, a_K$가 공백으로 구분되어 주어진다. $(1 \le a_i \le N;$ 모든 $i \neq j$에 대해 $a_i \neq a_j)$

출력

모든 하수구가 물이 고이지 않는 하수구일 경우 no flood를 출력한다. 물이 고이는 하수구가 하나라도 있을 경우 flood를 출력한다.

제한

예제 입력 1

4 4
1 2 3 4
1 2
1 3
2 3
1 4
1
1

예제 출력 1

no flood

예제 입력 2

4 4
1 2 3 4
1 2
1 3
2 3
1 4
1
2

예제 출력 2

flood

예제 입력 3

2 0
1000000000 999999999
2
1 2

예제 출력 3

no flood

노트

출처

School > 대전과학고등학교 > 제2회 대전과학고등학교 프로그래밍 경진대회 DSHStack G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /