p1605
  • 板块学术版
  • 楼主ceert
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/3/11 15:52
  • 上次更新2023/10/23 21:54:48
查看原帖
p1605
830478
ceert楼主2023/3/11 15:52
#include<bits/stdc++.h>
using namespace std;
int n,m,sx,sy,a[514],b[514],ex,ey,flag=0,vis[514][514],t;
char jb[114][514];
int dx[4]={0,0,1,-1};
int dy[4]={-1,1,0,0};
void dfs(int x,int y)
{  
	if(x==ex&&y==ey)
	{
		flag+=1;
		return;
	}
	for(int i=0;i<4;i++)
	{
		int nx=x+dx[i],ny=y+dy[i];
		if(nx>=1&&nx<=m&&ny>=1&&ny<=n&&!vis[nx][ny]&&jb[nx][ny]!='#')
		{
		vis[nx][ny]=1;
		dfs(nx,ny); 
        vis[nx][ny]=0;
	    }
    }
}
int main()
{
    cin>>n>>m>>t;
    cin>>sx>>sy>>ex>>ey;
    for(int i=1;i<=t;i++)
    {
		cin>>a[i]>>b[i];
		jb[a[i]][b[i]]='#';   	
    }
    dfs(sx,sy);
	cout<<flag;
	return 0;
 } 

为什么哇了

2023/3/11 15:52
加载中...