大佬们是不是lx,ly那八个int导致的qwp
#include<iostream>
#include<cstring>
using namespace std;
int n,m,t,ans,sx,sy,fx,fy;
int map[20][20];
int pr[20],pk[20];
bool overflow(int x,int y) {
return (x<=0||x>m||y<=0||y>n);
}
void dfs(int x,int y) {
if(x==fx&&y==fy) {
ans++;
return;
}
int lx=x+1,ly=y;//right
int rx=x,ry=y+1;//down
int px=x-1,py=y;//left
int qx=x,qy=y-1;//up
if(!overflow(lx,ly)) {
if(!map[ly][lx]) {
dfs(lx,ly);
}
}
if(!overflow(rx,ry)) {
if(!map[ry][rx]) {
dfs(rx,ry);
}
}
if(!overflow(px,py)) {
if(!map[py][px]) {
dfs(px,py);
}
}
if(!overflow(qx,qy)) {
if(!map[qy][qx]) {
dfs(qx,qy);
}
}
return;
}
int main() {
cin>>n>>m>>t;
memset(map,0,sizeof(map));
cin>>sx>>sy>>fx>>fy;
for(int i=1;i<=t;i++) {
cin>>pr[i]>>pk[i];
map[pk[i]][pr[i]]=1;
}
dfs(sx,sy);
/*for(int i=1;i<=n;i++) {
for(int j=1;j<=m;j++)
cout<<map[i][j]<<" ";
cout<<endl;
}*/
cout<<ans;
return 0;
}