走方格,这道题毫无疑问是BFS,不过做了好长时间,主要失误在一个if语句上,if语句竟然没加{ },看了半天才改过来思路是这样的,确定方向数组dir[][];然后明确题意需要什么队列里需要放什么;然后就是按照你的原理去写代码。这个题应该算是有一点简单,不过我调了好长时间
#include#include #include #include struct node{ int x,y;}q[400+10];struct node P,N;int dir[4][2]={ {1,0},{-1,0},{0,1},{0,-1}};char str[25][25];int flag[25][25];int main(){ int c,r,i,j,front,rear; while(scanf("%d%d",&c,&r)!=EOF,c*c+r*r) { memset(flag,0,sizeof(flag)); for(i=0;i =0&&tx =0&&ty