解
2024-08-09 15:10:42
发布于:浙江
2阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m,t;
int arr[0XA][0xA],zhangx,zhangy,sx,sy,ex,ey,ans=0;
bool v[0xA][0xA];
short d[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
void dfs(int x,int y)
{
v[x][y]=1;
for(int i=0;i<4;i++)
{
int xx=x+d[i][0];
int yy=y+d[i][1];
if(xx>=1 &&yy>=1 && yy<=m && xx <=n && arr[xx][yy]!=1 && v[xx][yy]==0)
{
if(xx==ex && yy==ey)
{
ans++;
}
else
{
dfs(xx,yy);
}
}
}
v[x][y]=0;
return;
}
int main()
{
cin >> n >> m >> t;
for(int i=0x1;i<=n;i++)
{
for(int j=0x1;j<=m;j++)
{
arr[i][j]=0x0;
v[i][j]=0x0;
}
}
cin >> sx >> sy >> ex >> ey;
for(int i=0x1;i<=t;i++)
{
cin >> zhangx >> zhangy;
v[zhangx][zhangy]=0x1;
}
dfs(sx,sy);
cout << ans;
}
这里空空如也
有帮助,赞一个