(BFS)uva2554-Snakes & Ladders

题目地址

不知道究竟是我的代码问题,还是oj出了问题(vjudge上看这道题全都是WA,没有AC的)就连直接用书上的代码都WA。

但还是先放出我这不确定正误的代码,大神路过如果有兴趣可以帮忙看一下。

 1 #include <cstdio>
 2 #include <queue>
 3 #include<cstring>
 4 using namespace std;
 5 struct portal
 6 {
 7     int from,to;
 8 };
 9 int main()
10 {
11     int grid[405],ggrid[405],i,j,D,N,S,L,step=0,st,tem,k;
12     portal men[500];
13     scanf("%d",&D);
14     while(D--)
15     {
16         scanf("%d%d%d",&N,&S,&L);
17         memset(grid,0,sizeof(grid));
18         step=0;
19         for(i=0;i<S+L;i++)
20             scanf("%d%d",&men[i].from,&men[i].to);
21         grid[1]=1;
22         while(grid[N*N]==0)
23         {
24             memcpy(ggrid,grid,sizeof(grid));
25             memset(grid,0,sizeof(grid));
26             for(i=1;i<=N*N-1;i++)
27             {
28                 if(ggrid[i])
29                 {
30                     for(j=1;j<=6;j++)
31                     {
32                         st=0;
33                         tem=i+j;
34                         if(tem>N*N)
35                             break;
36                         for(k=0;k<S+L;k++)
37                         {
38                             if(men[k].from==tem)
39                             {
40                                 st=1;
41                                 grid[men[k].to]=1;
42                                 break;
43                             }
44                         }
45                         if(grid[tem]==0&&st==0)
46                             grid[tem]=1;
47                     }
48                 }
49             }
50             step++;
51         }
52         printf("%d
",step);
53     }
54 return 0;
55 }
原文地址:https://www.cnblogs.com/quintessence/p/6033604.html