代码如下:
#include<iostream>
using namespace std;
int a[6][6];
int n,m,zx,zy;
void dfs(int x,int y,int ma,int f){
a[x][y]+=ma;
if(x==zx&&y==zy)
return;
if(a[x+1][y]!=-1&&f!=2&&x<n)
dfs(x+1,y,ma,8);
if(a[x-1][y]!=-1&&f!=8&&x>1)
dfs(x-1,y,ma,2);
if(a[x][y+1]!=-1&&f!=4&&y<m)
dfs(x,y+1,ma,6);
if(a[x][y-1]!=-1&&f!=6&&y>1)
dfs(x,y-1,ma,4);
return;
}
int main()
{
int t;
cin>>n>>m>>t;
int x,y;
int qx,qy;
cin>>qx>>qy>>zx>>zy;
for(int i=1; i<=t; i++){
cin>>x>>y;
a[x][y]=-1;
}
dfs(qx,qy,1,0);
cout<<a[zx][zy];
return 0;
}
评测记录
帮助者+1关注