문제: https://www.acmicpc.net/problem/1890
import sys
read = lambda : sys.stdin.readline().strip()
n = int(read())
route = [list(map(int, read().split())) for _ in range(n)]
matrix = [[0]*(n) for _ in range(n)]
# i,j칸에 갈수 있는 경로의 개수
matrix[0][0] = 1
for i in range(n):
for j in range(n):
if (i == n - 1) and (j == n - 1):
# 만약 continue안하면 matrix[3][3]은 자기 자신을 두번이나 더하게된다.
continue
if i + route[i][j] < n :
matrix[ i + route[i][j] ][j] += matrix[i][j]
if j + route[i][j] < n :
matrix[i][ j + route[i][j] ] += matrix[i][j]
print(matrix[n-1][n-1])