http://acm.fzu.edu.cn/problem.php?pid=1205
朴素BFS,然后求最短路的数目,再次BFS即可,注意一个结点只入队一次
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
struct node{
int x,y;
node(int a=0,int b=0)
{
x=a;
y=b;
}
}p;
const int N=100;
int m,n,step[N][N],vis[N][N],maze[N][N],rec[N][N],sx,sy,ex,ey;
int move[][2]={0,1,1,0,0,-1,-1,0};
int bfs()
{
if(sx==ex&&sy==ey)
{
printf("0\n1\n");
return 1;
}
queue<node> que;
que.push(node(sx,sy));
memset(rec,0,sizeof(rec));
memset(vis,0,