P1610 鸿山洞的灯

Aimee

很简单的小dfs

其实是套着dfs壳的贪心

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,dis;
int pl[100001];
int ans;
void  dfs(int now,int la){ 
	if(now==1){
		dfs(now+1,now);
		ans++;
		return ;
	}
	if(now==n){
		ans++;
		return ;
	}
	if(pl[now+1]-pl[la]>dis){
		ans++;
		dfs(now+1,now);
		return ;
	} 
	dfs(now+1,la);
}
int main(){
	scanf("%d%d",&n,&dis);
	for(int i=1;i<=n;++i){
		scanf("%d",&pl[i]);
	}
	sort(pl+1,pl+n+1);
	dfs(1,0);
	cout<<n-ans;
	return 0;
} 
posted @ 2020-10-30 21:10  Simex  阅读(103)  评论(0编辑  收藏  举报