题目描述
一个 N×N 的网格,你一开始在左上角 (1,1)(1,1) 位置。每次只能移动到下方相邻的格子或右方相邻的格子,问到达右下角 (N,N)(N,N) 位置共有多少种方案数。
输入格式
一行一个整数 N\ (1\le N\le 15)N (1≤N≤15) 。
#include<bits/stdc++.h>
#define endl ('\n')
#define ll long long
using namespace std;
const int N=20;
ll dp[N][N];
int n,m;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==1||j==1){
dp[i][j]=1;
continue;
}
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
cout<<dp[n][n];
return 0;
}