specialjin1   5년 전

b9827b74-4272-4a23-8613-43fbf676242c

route는 주어지는 지도의 배열이구요

num_route는 경로의 수를 저장한 배열입니다.

제가 생각한 방법은 위쪽, 왼쪽, 오른쪽으로 갈 수 있다면(현재값보다 값이 작다면) 그 쪽으로 가는 길이 생기는거니 경로값을 더해주는 식으로

쭉 내려왔는데요 정리하면 이렇습니다.

  1. 밑으로 내려올 수 있으면(route[i][j]<route[i-1][j]) 밑의 값에 경로를 추가(num_route[i][j]+=num_route[i-1][j])해줍니다.
  2. 왼쪽으로 갈 수 있으면(route[i][j]>route[i][j-1]) 왼쪽 경로에 현재의 경로를 추가(num_route[i][j-1]+=route[i][j])해줍니다.
  3. 오른쪽으로 갈 수 있으면 (route[i][j]>route[i][j+1]) 오른쪽 경로에 현재의 경로를 추가 (num_route[i][j+1]+=route[i][j]) 해줍니다.


코드는 잘못 짠게 아닌 것 같은데.. 이 아이디어의 어디가 잘못된 걸까요... 아무리  생각해도 반례를 못 찾겠습니다

specialjin1   5년 전

아하 제가 문제를 착각한거군요... 감사합니다

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