#include #include #include const int N=1005,dx[]={0,1},dy[]={1,0}; struct LnkNode{ int v,w,nxt; }edge[N<<1]; int etot,fst[N],cur[N]; void addedge_(int u,int v,int w){ ++etot; edge[etot].v=v; edge[etot].w=w; edge[etot].nxt=fst[u]; fst[u]=etot; } void addedge(int u,int v,int w=1){addedge_(u,v,w),addedge_(v,u,0);} int T,n,idc,s,t,id[15][15][2]; char a[15][15]; int q[N],Head,Tail,d[N]; bool bfs(){ Head=Tail=0; memset(d+1,0xff,idc<<2); d[q[Tail++]=s]=1; while(Head