中级农民
- 积分
- 187
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2012-11-9
- 最后登录
- 1970-1-1
|
#include <stdio.h>
#include <algorithm>
#include <math.h>
using namespace std;
#define MAXN 100
int a[MAXN];
bool f[MAXN];
bool test(int j,int i){
if (j==i) return false;
if (i-j==1){
if (a[j]==a[i]) return true; else return false;
}
int tempp[MAXN];
int num;
int x=0;
for (num=j;num<=i;num++){tempp[x++]=a[num];}
sort(tempp,tempp+x);
if (tempp[0]==tempp[x-1]) return true;
if ((i-j==2)&&(tempp[0]==tempp[1]-1)&&(tempp[1]==tempp[2]-1)) return true;
return false;
}
int main()
{
int temp;
int k=0;
int i,j;
k=1;
freopen("in","r",stdin);
freopen("out","w",stdout);
while (scanf("%d",&temp)==1){
a[k++]=temp;
}
memset(f,false,sizeof(f));
f[0]=true;
for (i=0;i<k;i++)
for (j=0;j<i;j++){
if ((test(j+1,i))&&(f[j])&&(i-j<5)) f[i]=true;
}
if (f[--k]) printf("true"); else printf("false");
return 0;
}
|
|