tijie
2024-07-11 21:54:23
发布于:广东
9阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int n,m,t,sx,sy,fx,fy,sum;
int mp[114][114];
bool vis[114][114];
int dx[4] = {0,0,-1,1};
int dy[4] = {-1,1,0,0};
bool check( int x,int y ){
return x >= 1 && x <= n && y >= 1 && y <= m && vis[x][y] == 0 && mp[x][y] == 0;
}
void dfs( int x,int y ){
if( x == fx && y == fy ){
sum++;
return;
}
for( int i = 0 ; i < 4 ; i++){
int nx = x + dx[i];
int ny = y + dy[i];
if( check(nx,ny) ){
vis[nx][ny] = 1;
dfs(nx,ny);
vis[nx][ny] = 0;
}
}
}
int main(){
cin >> n >> m >> t;
cin >> sx >> sy >> fx >> fy;
for( int i = 1 ; i <= t ; i++ ){
int x,y;
cin >> x >> y;
mp[x][y] = 1;
}
vis[sx][sy] = 1;
if( mp[sx][sy] == 0 ){
dfs(sx,sy);
}
cout << sum;
return 0;
}
斜体文本
这里空空如也
有帮助,赞一个