Saturday, December 21, 2013

10038 - Jolly Jumpers

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