문제 링크
- http://icpc.me/15924
문제 출처
- 제2회 천하제일 코딩대회 I번
시간복잡도
- O(nm)
풀이
예선 B번 문제와 비슷하지만 풀이는 많이 다릅니다.
이 문제와 비슷한 방법으로 풀 수 있습니다.
현재 칸이 E인 경우, 오른쪽으로 갈 수 있습니다.
현재 칸이 S인 경우, 아래로 갈 수 있습니다.
현재 칸이 B인 경우, 오른쪽 또는 아래로 갈 수 있습니다.
dp[i][j]를 (n-1, m-1)에서 (i, j)까지 가는 방법의 수라고 정의합시다.
(i, j)가 E인 경우, dp[i][j] = dp[i][j+1]입니다.
(i, j)가 S인 경우, dp[i][j] = dp[i+1][j]입니다.
(i, j)가 B인 경우, dp[i][j] = dp[i][j+1] + dp[i+1][j]입니다.
점화식을 코드로 옮겨주면 됩니다.
전체 코드
1 |
|