2023C-园区参观路径(dp迷宫方案数问题)
·
园区某部门举办了Family Day,邀请员工及其家属参加;将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;家属参观园区时,只能向右和向下园区前进;求从起始园区到终点园区会有多少条不同的参观路径
输入
第一行为园区长和宽;后面每一行表示该园区是否可以参观,0表示可以参观,1表示不能参观
1 <= 园区长, 园区宽 <= 100
输出
输出为不同的路径数量
样例输入 复制
3 3
0 0 0
0 1 0
0 0 0
样例输出 复制
2
经典dp,就不讲了
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1e3+100;
int a[maxn][maxn];
int dp[maxn][maxn];
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]==1) continue;
if(i==1&&j==1) dp[i][j]=1;
else dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
}
cout<<dp[n][m]<<endl;
}