题解
2025-04-27 11:52:42
发布于:浙江
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int dr[][2]={0,1,1,0,0,-1,-1,0},dt[45][45],n,m,t,sx,sy,fx,fy,cnt=0;
void dfs(int x,int y){
dt[x][y]=1;
if(xfx&&yfy){
cnt++;
}
for(int i = 0;i < 4;i++){
int drx=x+dr[i][0],dry=y+dr[i][1];
if(drx>=1&&drx<=n&&dry>=1&&dry<=m&&!dt[drx][dry]){
dfs(drx,dry);
}
}
dt[x][y]=0;
}
int main(){
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
while(t--){
int x1,y1;
cin>>x1>>y1;
dt[x1][y1]=1;
}
dfs(sx,sy);
cout<<cnt;
return 0;
}
这里空空如也
有帮助,赞一个