alyssa1996   4년 전

질문게시판에 있는  반례(비가 안오는 경우 등)을 다 읽어보고 통과하는 것도 확인했는데, 계속 틀렸다고 나옵니다ㅠㅠ

도와주세요 부탁드립니다!!!

짧게 덧붙이자면, dfs 알고리즘을 이용해 풀었습니다.

change 함수는 비에 잠기는 높이에 해당하는 check배열의 부분을 1로 바꾸는 역할을 합니다.

ok 함수는 접근 가능한지 확인하는 역할을 합니다.

dfs 함수 안에서 인접한 지역이 접근 가능할 경우 다시 dfs를 호출하고, 접근한 지역이 이미 갔었던 지역일 경우 return합니다. 그리고 무조건 접근하면 check배열의 해당 값을 1로 바꿉니다.

메인 함수에서는 arr배열에 주어진 배열값을 입력하고, num이라는 벡터에 주어진 배열값의 값들을 집어 넣습니다(단, 중복되는 수들은 집어넣지 않습니다)

num을 정렬한 후, 작은 높이부터 차근 차근 빗물에 잠기도록 수행하며 안전영역을 구합니다.

댓글을 작성하려면 로그인해야 합니다.