一道很好的广搜题,不过我做得很坑爹的说,而且时间,空间都用到了极致,是做愚蠢的做法……悲哀啊……
#include<iostream>
using namespace std;
int m,n,l,r[4][2]={-1,0,0,-1,0,1,1,0};
bool vis[21][21][1<<14],map[21][21];
struct T
{
int x[8],y[8],step;
};
T t1,t2,q[20*20*(1<<14)];
int bfs()
{
int i,j,b,s,x0,x1,x2,y0,y1,y2,head,tail;
head=tail=0;
q[tail++]=t1;
while(head!=tail)
{
t1=q[head++];
if(t1.x[0]==1&&t1.y[0]==1)return t1.step;
for(i=0;i<4;i++)
{
x0......
阅读全文