为什么会40分
#include <bits/stdc++.h>
using namespace std;
int ans=0,fx,fy,n,m;
bool a[13][13],g[12][12];
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
void bfs()
{
queue<pair<int,int>>q;
for(int i=0;i<=n;i++)
for(int j=0;j<=m;j++)
if(a[i][j])q.push({i,j});
while(!q.empty())
{
auto c=q.front();q.pop();
for(int i=0;i<4;i++)
{
int nx=c.first+dx[i];
int ny=c.second+dy[i];
if(0<nx&&nx<=n&&0<ny&&ny<=m)
{
if(g[nx][ny]||a[nx][ny])continue;
q.push({nx,ny});
a[c.first][c.second]=true;
if (nx == fx && ny == fy)
ans++;
}
}
}
}
int main() {
int t,sx,sy,x,y;
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
a[sx][sy]=true;
while(t--)
{cin>>x>>y;
g[x][y]=true;
}
bfs();
cout<<ans;
return 0;
}