Problem E: Jolly Jumpers
A sequence of
n > 0 integers is called a
jolly jumper
if the absolute values of the difference between successive elements
take on all the values 1 through
n-1. For instance,
1 4 2 3
is a jolly jumper, because the absolutes differences are 3, 2, and 1
respectively. The definition implies that any sequence of a single
integer is a jolly jumper. You are to write a program to determine
whether or not each of a number of sequences is a jolly jumper.
Input
Each line of input contains an integer
n <= 3000 followed by
n integers
representing the sequence.
Output
For each line of input, generate a line
of output saying "Jolly" or "Not jolly".
Sample Input
4 1 4 2 3
5 1 4 2 -1 6
Sample Output
Jolly
Not jolly
Solution:
#include <stdio.h>
#define MAX 3000
int main(){
static int N, I, J, V[MAX], A[MAX];
while(scanf("%d",&N) == 1){
for(I = 0; I < N; I++){
scanf("%d",&V[I]);
A[I] = 0;
}
J = N-1;
for(I = 0; I < J; I++)
A[abs(V[I]-V[I+1])] = 1;
J = 1;
for(I = 1; I < N; I++){
if(!A[I]){
J = 0;
break;
}
}
if(J)
printf("Jolly\n");
else
printf("Not jolly\n");
}
return 0;
}
No comments:
Post a Comment