POJ3069:Saruman's Army

Posted EricJeffrey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ3069:Saruman's Army相关的知识,希望对你有一定的参考价值。

 题目链接:http://poj.org/problem?id=3069

贪心

使用两个标志,一个边界点,一个当前比较点即可不断重复更新所需的点个数

挑战程序设计竞赛原文:

 

 

代码:

 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cmath>
 4 #include<memory.h>
 5 #include<algorithm>
 6 #define MAXN 1010
 7 #define INF 0x3f3f3f
 8 using namespace std;
 9 
10 int n,r;
11 int pos[1010];
12 
13 int main()
14 {
15     while(scanf("%d %d",&r,&n)&&(r>=0||n>=0))
16     {
17         memset(pos,0,(MAXN-1)*sizeof(int));
18         for(int i=1;i<=n;i++)
19         {
20             scanf("%d",&pos[i]);
21         }
22         pos[n+1]=INF;
23         sort(pos+1,pos+n+1);
24         int ans=0;
25         int initpos=pos[1];
26         int boundpos=pos[1];
27         for(int i=2;i<=n+1;i++)
28         {
29             if(pos[i]-boundpos<=r)
30                 initpos=pos[i];
31             else
32             {
33                 if(pos[i]-initpos<=r)
34                     continue;
35                 else
36                 {
37                     ans++;
38                     boundpos=pos[i];
39                     initpos=pos[i];
40                 }
41             }
42         }
43         printf("%d\\n",ans);
44     }
45     return 0;
46 }

 

以上是关于POJ3069:Saruman's Army的主要内容,如果未能解决你的问题,请参考以下文章

poj 3069 Saruman's Army

POJ 3069 Saruman&#39;s Army

POJ3069:Saruman's Army

POJ 3069 Saruman's Army

POJ 3069 Saruman's Army (贪心)

POJ 3069 Saruman's Army (贪心)