题目描述
A sequence of n > 0 integers is called a jolly jumper if the absolute values of the differences between successive elements take on all possible values 1 through n – 1. For instance,
1 4 2 3
is a jolly jumper, because the absolute differences are 3, 2, and 1, respectively. The definition implies that any sequence of a single integer is a jolly jumper. Write a program to determine whether each of a number of sequences is a jolly jumper.
输入
Each line of input contains an integer n < 3, 000 followed by n integers representing the sequence
输出
For each line of input generate a line of output saying “Jolly'' or “Not jolly''.
样例输入
4 1 4 2 3
5 1 4 2 -1 6
样例输出
Jolly
Not jolly
参考代码
#include<stdio.h>
#include<math.h>
int main()
{
int n,i,s,h;
while(scanf("%d",&n)!=EOF)
{
int a[3000]={0},b[3000]={0};
h=0;
for (i=0;i<n;i++)
scanf("%d",&a[i]);
for (i=0;i<n-1;i++)
{
s=fabs(a[i]-a[i+1]);
if(s>n||s==n)
{
h=1;
break;
} else
{
if(b[s]>0)
{
h=1;
break;
} else b[s]++;
}
}
if(h==0)printf("Jollyn");
else printf("Not jollyn");
}
return 0;
}
解析
暂无