首页 > 其他 > 详细

The Way to Home CodeForces - 910A

时间:2019-12-07 21:37:36      阅读:96      评论:0      收藏:0      [点我收藏+]

4个月前做的一道题,当时不知道为什么,写了一个bfs,直接就超时了。

现在再看这个题目,发现就是一个简单的贪心,每次走最远即可。

技术分享图片
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 const int N=110;
 4 char ss[N];
 5 vector<int>pos;
 6 int main()
 7 {
 8     int n,d;
 9     while(scanf("%d%d",&n,&d)!=EOF)
10     {
11         scanf("%s",ss+1);
12         pos.clear();
13         for(int i=1;i<=n;i++)
14         {
15             if(ss[i]==1)
16                 pos.push_back(i);
17         }
18         int p=1,ans=0;
19         bool f=0;
20         for(int i=1;i<pos.size();i++)
21         {
22             f=0;
23             while(pos[i]-p<=d)
24             {
25                 i++;
26                 f=1;
27             }
28             if(!f)
29                 break;
30             i--;
31             p=pos[i];
32             ans++;
33         }
34         if(!f)
35             printf("-1\n");
36         else
37             printf("%d\n",ans);
38     }
39     return 0;
40 }
View Code

 

The Way to Home CodeForces - 910A

原文:https://www.cnblogs.com/1024-xzx/p/12003411.html

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