下载后运行结果与数据一致,提交结果WA 我菜死找不到问题QAQ
#include <bits/stdc++.h>
using namespace std;
inline int read() {
int x=0,f=1;char ch=getchar();
if(!isdigit(ch)) { if(ch=='-') f=-1; ch=getchar(); }
if(isdigit(ch)) { x=x*10+ch-48; ch=getchar(); }
return x*f;
}
int n=read(),m=read(),t=read(),sx=read(),sy=read(),fx=read(),fy=read();
bool mm[6][6];
int ans=0;
void dfs(int xx,int yy) {
mm[xx][yy]=true;
if(xx==fx&&yy==fy) {
ans++;
return ;
}
int a[5]={0,1,-1,0,0},b[5]={0,0,0,1,-1};
for(int i=1;i<=4;i++) {
int ux=xx+a[i],uy=yy+b[i];
if(mm[ux][uy] || ux<1 || ux>n || uy<1 || uy>m) continue;
dfs(ux,uy);
mm[ux][uy]=false;
}
return ;
}
int main() {
for(int i=1;i<=t;i++) {
int x=read(),y=read();
mm[x][y]=true;
}
dfs(sx,sy);
cout<<ans;
return 0;
}