huh0918   2년 전

심지어 100프로까지 갔는데 틀렸습니다..

map에는 ground, group을 나눠서 땅의 특징을 기록했습니다. 

ground는 0이면 바다, 1이면 육지입니다.

group은, 섬을 나눈겁니다. 섬이 세개면 각각 1,2,3으로 기록되었습니다.(기록은 dfs이용해서 함)

그리고 바다가아닌 육지 전체다 큐에 넣고 bfs를 돌려서 

d(distance)를 갱신해가며 최솟값을 찾았습니다. 

bfs 방식은, 

자기자신과 그룹이 다르고, 그룹이 0이다(아직 다른 그룹에게 안먹혔다)면 그 땅을 자기 그룹에 편입시키고 d를 업데이트해나갔습니다.

그러다가, 인접한 땅이 이미 다른그룹의 땅이면 그제서야 최소 거리로 만나게 되는거죠.

어디가 틀렸을까요.. 도와주시면 정말 감사하겠습니다!!

yhj1937   2년 전

5

1 0 0 0 1

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0 1 0 0 1

huh0918   2년 전

통찰력이 대단하십니다..

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