码迷,mamicode.com
首页 > 其他好文 > 详细

CSU 1408: 种植树苗(贪心啊 )

时间:2014-12-07 19:09:19      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:csu   贪心   

题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1408


Description

如下图所示,我们在门前一条笔直的道路上栽了N棵树苗。 
bubuko.com,布布扣
但是,最近我们发现,如果两棵树苗的距离小于一个常数D,这两棵树苗的发育都会受到阻碍。因此我们决定移除一些树苗,从而使任意两棵树苗的距离都不小于D,并且我们希望留下的树苗越多越好。

Input

输入的第一行包含一个整数T (T > 0),表示一共有T组测试数据。
对于每组测试数据,第一行包含两个整数ND (1 ≤ N ≤ 105, 1 ≤ D ≤ 109)。第二行包含N个整数a1a2, ..., aN (0 < a1 < a2 < ... < aN < 109),其中ai (1 ≤ i ≤ N)表示第i棵树苗的位置。

Output

对于每组测试数据,输出我们最多可以留下多少棵树苗,并且任意两棵树苗的距离都不小于D

Sample Input

5
1 3
7
2 1
3 4
2 2
3 4
7 2
1 2 3 5 6 8 9
7 4
1 2 3 5 6 8 9

Sample Output

1
2
1
4
3

HINT

Source


代码如下:

#include <cstdio>
int a[100017];
int main()
{
    int t;
    int n,d;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d",&n,&d);
        for(int i = 0; i < n; i++)
            scanf("%d",&a[i]);
        int k = 1;
        int pre=a[0];
        for(int i = 1; i < n; i++)
        {
            if(pre+d<=a[i])
            {
                k++;
                pre=a[i];
            }
        }
        printf("%d\n",k);
    }
    return 0;
}


CSU 1408: 种植树苗(贪心啊 )

标签:csu   贪心   

原文地址:http://blog.csdn.net/u012860063/article/details/41789301

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!