您的位置:首页 > 编程语言 > C语言/C++

USACO2016 Jan Bronze 2:Angry Cows

2016-06-23 13:12 176 查看
#include<stdio.h>
#include<stdlib.h>
bool vis[10000000],p[10000000];
int ans1=0;
void sert(int x){
if(p[x])return ;
p[x]=1;ans1++;
int i;
for(i=-2;i<=2;i++){
if(i+x<=0)continue;
if(vis[i+x])sert(i+x);
}
}
int main(){
int n,i,k1,k,j,x,ans=0,max=0;
scanf("%d",&n);
max=0;
for(i=1;i<=n;i++){
scanf("%d",&x);
vis[x]=1;
if(max<x)max=x;
}
ans=0;
for(i=1;i<=max;i++){
for(k1=1;k1<=max;k1++)p[k1]=0;
ans1=0;
j=i;
for(k=j-1;k<=j+1;k++){
if(vis[k])sert(k);
}
if(ans1>ans)ans=ans1;
}
printf("%d\n",ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 源码 USACO