alsghdjrk   5년 전

  1. 맵의 크기와 비의 량을 받는다
  2. 받는 비의 량을 sort 내림차순으로 돌려 가장 많은 비가 나렸을 떄를 받는다.
  3. 함수 bfs로 넘어간다 인자에는 가장 많은 비의량과 맵의 사이즈가 넘어간다

bfs(비의 최대량, 맵의크기)

  1. 인자로 비의 량, safezone(temp), 백터가 있고 백터는 safezone의 갯수를 집어넣을 것이다.
  2. while문을 반복한다 최대비의량 부터 0 까지 
  3. 임시맵의 생성 임시맵은 비보다 작은곳은 0 비와 같거나 큰 곳은 1로 놓여진다
  4. 1인 지역을 방문하면 함수 bfs1를 실행 bfs1은 방문한 곳을 0으로 그리고 상하좌우 방문
  5. 벡터SZ에 safezone의 갯수 저장
  6. while 문이 끝나면 sort를 이용해 벡터SZ를 내림차순 정렬
  7. return 벡터SZ[0] == 가장큰값

이렇게 프로그램을 짜서 돌렸습니다.

테스트 케이스는 잘돌아갑니다. 알고리즘 부분에서 틀린 것 지적해 주세요;;

alsghdjrk   5년 전

제가 쓰고 제가 답들 답니다.

map을 한번 패딩하고 실행 하니까 답이 잘 나옵니다.

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