본문 바로가기
백준 알고리즘/구현

백준 1890번 C++

by paysmile 2019. 1. 23.


#include<iostream>

#include<cstring>

using namespace std;


int n;

int arr[101][101];

long long ans[101][101];


long long calway() {

ans[0][0] = 1;


for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

if (ans[i][j] != 0 && i != n-1 && i+arr[i][j]< n) {

ans[i + arr[i][j]][j] += ans[i][j];

}

if (ans[i][j] != 0 && j!= n-1 && j+arr[i][j] < n ) {

ans[i][j + arr[i][j]] += ans[i][j];

}

}

}

return ans[n - 1][n - 1];

}


int main(void) {

cin >> n;


for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

cin >> arr[i][j];

}

}

memset(ans, 0, sizeof(ans));

cout << calway();

return 0;

}

'백준 알고리즘 > 구현' 카테고리의 다른 글

백준 5543번 C++  (0) 2019.02.18
백준 13458번 C++  (0) 2019.01.26
백준 7568번 C++  (0) 2019.01.05
백준 10797번 C++  (0) 2019.01.02
백준 2490번 c++  (0) 2019.01.02