求助!
  • 板块学术版
  • 楼主Cosmos_zzx
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/8/11 17:56
  • 上次更新2023/11/3 04:26:02
查看原帖
求助!
371925
Cosmos_zzx楼主2023/8/11 17:56

P1605 迷宫那题我40ps,更题解对过了,没啥错。有人能帮我改改吗??

#include<bits/stdc++.h>
using namespace std;
int t,n,m,xx,yy,xxx,yyy,ans;
char a[1001][1001];
int dx[4]={-1,1,0,0};
int dy[4]={0,0,-1,1};
bool flag[1001][1001];
void dfs(int x,int y)
{
	if(x==xxx && y==yyy)
	{
		ans++;
		return;
	}
	flag[x][y]=1;
	for(int i=1;i<=3;i++)
	{
		int tx=x+dx[i];
		int ty=y+dy[i];
		if(flag[tx][ty])continue;
		if(tx<1 || ty>m || tx>n || ty<1)continue;
		if(a[tx][ty]=='#')continue;
		dfs(tx,ty);
	}
}
int main()
{
	cin>>n>>m>>t;
	cin>>xx>>yy>>xxx>>yyy;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			a[i][j]='.';
		}
	}
	int x,y;
	for(int i=1;i<=t;i++)cin>>x>>y,a[x][y]='#';
	dfs(xx,yy);
	cout<<ans;
	return 0;
}
2023/8/11 17:56
加载中...