刷题——Saruman's Army POJ - 3069
2017-08-08 11:05
543 查看
/*
坐标轴上任意点的r距离中要有被标记点
从第一个点开始,从它r距离往回推,遇到点标记,再从被标记点r距离外开始
*/
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int xi[1005];
int main(){
int n,r;
while(~scanf("%d %d",&r,&n)){
if(n==-1&&r==-1)break;
int x,maxx=0;
memset(xi,0,sizeof(xi));
for(int i=0;i<n;i++){
scanf("%d",&x);
xi[x]=1;
maxx=max(maxx,x);
}
int num=0;
for(int i=0;i<=maxx;i++){
if(xi[i]){
for(int j=i+r;j>=i;j--){
if(xi[j]){
i=j+r;
break;
}
}
num++;
}
}
printf("%d\n",num);
}
return 0;
}
坐标轴上任意点的r距离中要有被标记点
从第一个点开始,从它r距离往回推,遇到点标记,再从被标记点r距离外开始
*/
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
int xi[1005];
int main(){
int n,r;
while(~scanf("%d %d",&r,&n)){
if(n==-1&&r==-1)break;
int x,maxx=0;
memset(xi,0,sizeof(xi));
for(int i=0;i<n;i++){
scanf("%d",&x);
xi[x]=1;
maxx=max(maxx,x);
}
int num=0;
for(int i=0;i<=maxx;i++){
if(xi[i]){
for(int j=i+r;j>=i;j--){
if(xi[j]){
i=j+r;
break;
}
}
num++;
}
}
printf("%d\n",num);
}
return 0;
}
相关文章推荐
- POJ 3069 Saruman's Army
- Saruman's Army POJ - 3069
- POJ 3069 Saruman's Army
- Saruman's Army POJ - 3069
- poj 3069 Saruman's Army(贪心)
- POJ 3069 Saruman's Army
- poj 3069 Saruman's Army 贪心
- 【Poj】-3069-Saruman's Army(贪心)
- POJ_3069_Saruman's Army
- POJ3069——Saruman's Army
- POJ - 3069 Saruman's Army 萨鲁曼的大军 贪心 重庆一中高2018级竞赛班第三次测试 2016.7.24 Problem 2
- POJ - 3069 Saruman's Army(贪心)
- POJ 3069 Saruman's Army(贪心)
- Saruman's Army POJ - 3069
- POJ_3069_Saruman's Army
- poj 3069 Saruman's Army
- poj 3069 Saruman's Army【贪心】
- poj 3069 Saruman's Army
- POJ 3069 - Saruman's Army(贪心)
- POJ 3069 Saruman's Army 贪心