标签:技术 坐标 clu tps sed cout 桌子 ble 有一个
2 3
3
题解:
递推,某一个点只能从其左边或者下边走过来
f[i][j]存储(i,j)这个点上的结果,即f[i][j]=f[i-1][j]+f[i][j-1]
1 #include<cstdio> 2 #define MAXN 21 3 int n,m,f[MAXN][MAXN]; 4 int main() 5 { 6 scanf("%d%d",&n,&m); 7 for(int i=1;i<=n;i++)f[i][1]=1; 8 for(int i=1;i<=n;i++) 9 { 10 for(int j=2;j<=m;j++) 11 { 12 f[i][j]=f[i][j-1]+f[i-1][j]; 13 } 14 } 15 printf("%d\n",f[n][m]); 16 return 0; 17 }
下面这段代码更简洁
1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,m,a[21][21],i,j; 4 int main() 5 { 6 cin>>m>>n; 7 a[1][1]=1; 8 for(i=1;i<=m;i++) 9 for(j=1;j<=n;j++) 10 a[i][j]+=a[i-1][j]+a[i][j-1]; 11 cout<<a[m][n]<<endl; 12 return 0; 13 14 }
类似题目:过河卒 https://www.luogu.com.cn/problem/P1002
标签:技术 坐标 clu tps sed cout 桌子 ble 有一个
原文地址:https://www.cnblogs.com/huashanqingzhu/p/12271529.html