예르들어 N이 10이라고치면
land_id_counter = 0
for y in 1 ~ 10:
for x in 1 ~ 10:
if landId[y][x] == -1 and 물이아니라땅일떄만
dfs(y,x)
land_id_counter++
로 모든 땅에 id를 부여함
dfs(y,x) 함수는
* 만약 landId[y][x] 가 초기값인 -1가 아닐경우 (이미 여기는 땅의 id가 부여됬다는뜻이니까) 패스한다
* id가 아직 부여가 안된 땅일경우에만
0.이땅에 id를 부여한다.
1.오른쪽으로
2.왼쪽으로
3.아래로
dfs를 재귀적으로 돌리면서 번식한다
이렇게 하면 각 영토마다 id가 부여됨.
그래서 시작지점이랑 목표지점의 landId 가 같으면 0 출력하고 끝내고(같은영토니까)
아니면
for y1,x1 in 시작지점과_같은_땅ID를가진_셀:
for y2,x2 in 목표지점과_같은_땅ID를가진_셀:
min(터널뚫는비용)
이렇게 구현했는데 ㅅ1발 4번케이스에서 계속 걸린다네
코너케이스가 뭐임?
나는 시작점 도착점 각각 dfs 돌려서 속해있는 영역 집합 원소들 구하고 거릿값 최소 구해줬음
아 그러네 시작점 도착점만 해도 되네. 암튼 그래서 통과함?
내거랑 원리는 같은거같은데 왜난 틀리지
구현을 잘못한거 아닐까
근데 탐색할 때 위로도 갔지?
아..
아.. 시발... 위로안갔구나..
눈물...
난 시작도착만 해서 pretest 통과했는데... 구현에 실수가 있었던거 아님?
ㅠㅠ 방법은 맞나보네 자고나서 내일 케이스 확인해봐야겠다
위로 안가서 틀린듯?
ㅋㅋㅋ 그러네
야 기분째진다 1솔따리 1솔따~