一道简单的题目 学到一点东西 感觉剪枝就是找bug 挺爽的
// 做这种题目的时候,一定要细心 1.注意数据的取值2.正负号问题 3.开始和结尾的值的大小
#include<stdio.h>
#include<string.h>
#define max 3007
long long num[max];
long long check[max];
int main()
{
long long ans;
long long start;
int len;
int flag;
while(scanf("%d",&len)!=EOF)
{
memset(num,0,sizeof(num));
flag=0;
scanf("%lld",&start);
for(int i=1;i<len;i++)
{
scanf("%lld",&check[i]);
ans=start-check[i];
start=check[i];
if(ans<0&&flag==0)
{
if(-ans>=len)
{
flag=1;
continue;
}
num[-ans]=1;
}
else if(ans>0&&flag==0)
{
if(ans>=len)
{
flag=1;
continue;
}
num[ans]=1;
}
}
if(flag==0)
{
for(int i=1;i<len;i++)
if(num[i]==0)
{
flag=1;
break;
}
}
if(flag)
printf("Not jolly\n");
else
printf("Jolly\n");
}
return 0;
}