백준1890 점프 작성일 2019-05-06 | In BOI 문제 링크 http://icpc.me/1890 문제 출처 2006 BalticOI Day2 3번 사용 알고리즘 DP 시간복잡도 O(N2) 풀이 (1, 1)부터 문제에서 주어진 대로 이동하며 DP를 돌리면 됩니다. 인덱스를 벗어나는 것만 잘 처리해준다면 쉽게 풀 수 있습니다. 전체 코드 1234567891011121314151617181920212223242526#include <bits/stdc++.h> using namespace std; typedef long long ll; ll dp[111][111]; int arr[111][111]; int n; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) cin >> arr[i][j]; dp[1][1] = 1; for(int i=1; i<=n; i++){ for(int j=1; j<=n; j++){ int x = arr[i][j]; if(x == 0) continue; if(i + x <= n) dp[i+x][j] += dp[i][j]; if(j + x <= n) dp[i][j+x] += dp[i][j]; } } cout << dp[n][n]; }