2023C-园区参观路径(dp迷宫方案数问题)

·
园区某部门举办了Family Day,邀请员工及其家属参加;将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;家属参观园区时,只能向右和向下园区前进;求从起始园区到终点园区会有多少条不同的参观路径
image

输入
第一行为园区长和宽;后面每一行表示该园区是否可以参观,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;
}
posted @ 2024-04-21 14:08  lipu123  阅读(64)  评论(0)    收藏  举报