首页 > 其他 > 详细

hdu

时间:2014-08-12 00:31:23      阅读:331      评论:0      收藏:0      [点我收藏+]

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548

题目意思:给出 n 个 floor 你,每个floor 有一个数k,按下它可以到达 floor + k 或者 floor - k的位置。问从floor A 到 floor  B 最少的按lift 次数是多少。

         hdu 真是!!!!! 

        queue<node>  q 写在main 外就 wa了!!! = = 汗!!! 

         还专门瞪大双眼对照别人AC的代码,看了一遍又一遍,以为色盲了= =,可恶HDU !!!

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstdlib>
 4 #include <cstring>
 5 #include <queue>
 6 using namespace std;
 7 
 8 const int maxn = 200 + 10;
 9 int vis[maxn], k[maxn];
10 
11 struct node
12 {
13     int f, step;
14 }st, s, next;
15 
16 int main()
17 {
18     int n, a, b;
19     while (scanf("%d", &n) != EOF)
20     {
21         if (n == 0)
22             break;
23         scanf("%d%d", &a, &b);
24         for (int i = 1; i <= n; i++)
25         {
26             scanf("%d", &k[i]);
27             vis[i] = 0;
28         }
29         int flag = 0;
30         queue<node> q;     // 这个东西在main外声明就wa!!!
31         st.f = a;
32         st.step = 0;
33         q.push(st);
34         vis[st.f] = 1;
35         while (!q.empty())
36         {
37             s = q.front();
38             q.pop();
39             if (s.f == b)
40             {
41                 flag = 1;
42                 break;
43             }
44             st.f = s.f + k[s.f];
45             next.f = s.f - k[s.f];
46             if (st.f >= 1 && st.f <= n && !vis[st.f])
47             {
48                 vis[st.f] = 1;
49                 st.step = s.step + 1;
50                 q.push(st);
51             }
52             if (next.f >= 1 && next.f <= n && !vis[next.f])
53             {
54                 vis[next.f] = 1;
55                 next.step = s.step + 1;
56                 q.push(next);
57             }
58         }
59         printf("%d\n", flag ? s.step : -1);
60     }
61     return 0;
62 }

 

hdu,布布扣,bubuko.com

hdu

原文:http://www.cnblogs.com/windysai/p/3906065.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!