CSP2019 备战计划-8

Task:pj试炼场2-7(续)

T4 P1605

并不想讲

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<bits/stdc++.h>
using namespace std;
int n,m,t,sx,sy,fx,fy,tx,ty,sum;
int mapp[10][10];
int vis[10][10];
int qx[4]={0,0,-1,1};
int qy[4]={1,-1,0,0};
void dfs(int x,int y)
{
if(x==fx&&y==fy)
{
sum++;
return;
}
for(int i=0;i<4;i++)
{
int xx=x+qx[i];
int yy=y+qy[i];
if(xx<=n&&yy<=m&&xx>=1&&yy>=1&&!mapp[xx][yy]&&!vis[xx][yy])
{
vis[xx][yy]=1;
dfs(xx,yy);
vis[xx][yy]=0;
}
}
}
int main()
{
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
for(int i=1;i<=t;i++)
{
cin>>tx>>ty;
mapp[tx][ty]=1;
}
vis[sx][sy]=1;
dfs(sx,sy);
cout<<sum<<endl;
}