美文网首页
Saruman's Army

Saruman's Army

作者: Vincy_ivy | 来源:发表于2019-05-10 20:15 被阅读0次

Saruman's Army

这道题难就难在了理解题意//尤其是对于理解能力不好的我,今天就被一个理科生嫌弃语文差┭┮﹏┭┮

白书题解


 
 

代码

//#include <bits/stdc++.h>
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;

int n,r,x[1001];

int main(){
//      freopen("data","r",stdin);
    while(scanf("%d%d",&r,&n)&&r!=-1&&n!=-1){
        memset(x,0,sizeof(x));
        for(int i=0;i<n;i++)
            scanf("%d",&x[i]);
        sort(x,x+n);
        int i=0,ans=0;
        //ans计数,技术方法和那道W水坑的题有点类似,虽然算法不同 
        while(i<n){
            //b是没有被覆盖的最左点的位置 
            int b=x[i++];
            while(i<n&&x[i]<=b+r) 
                i++;
            //p是在范围之内最大距离的点,可以说是中间点 
            int p=x[i-1]; 
            //再从p开始向右延申;
            while(i<n&&x[i]<=p+r)
                i++;                
            ans++; 
        }
        printf("%d\n",ans); 
    }
    return 0;
}

相关文章

网友评论

      本文标题:Saruman's Army

      本文链接:https://www.haomeiwen.com/subject/sxezoqtx.html