예르들어 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번케이스에서 계속 걸린다네


코너케이스가 뭐임?