zoukankan      html  css  js  c++  java
  • POJ 3069 Saruman's Army

    贪心,需要被覆盖就找最右可行的盖上
    (本蒟一眼看成Salmon's Army……中了AS的毒)

    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    const int MAXN=1011;
    
    int R, N;
    int Num[MAXN];
    int r;
    int Ans=0;
    
    int main(){
    	ios_base::sync_with_stdio(false);
    	
    	while(cin >> R >> N){
    		if(R<0 || N<=0)	break;
    		Ans=0;
    		for(int i=1;i<=N;++i)	cin >> Num[i];
    		sort(Num+1, Num+N+1);
    		r=-R-1;
    		for(int i=1, j;i<=N;++i){
    			if(Num[i]-r>R){
    				/*
    				for(j=i;j<=N && Num[j]-Num[i]<=R;++j);
    				r=j;++Ans;
    				*/
    				for(j=i;j<N && Num[j+1]-Num[i]<=R;++j);
    				r=Num[j];++Ans;
    				//cout << r << " ";
    			}
    		}
    		cout << Ans << endl;
    	}
    	
    	return 0;
    }
    
    
  • 相关阅读:
    CF-807B
    CF-807A
    sort()的升降序函数操作
    CF-805D
    CF-805B
    CF-805A
    CF-796C
    CF-796B
    图论学习四之Disjoint set union并查集
    图论学习三之Shortest Path最短路
  • 原文地址:https://www.cnblogs.com/Pickupwin/p/9027974.html
Copyright © 2011-2022 走看看