ZJUT OJ 1004

Jolly Jumpers 
Time Limit:1000MS  Memory Limit:1024K

Description:

A sequence of n (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 (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

code:
 1 /*

 2 本题需要注意理解题意,题中的意思是数列a中相邻两数的差必须囊括1到n-1。 

 3 */

 4 #include <iostream>

 5 #include <algorithm>

 6 #include <math.h>

 7 using namespace std;

 8 

 9 int main()

10 {

11     for(int n; cin >> n;) {

12         int a[3000];

13         for (int i = 0; i < n; i++) {

14             cin >> a[i];

15             if (i > 0)

16                 a[i - 1] = abs(a[i] - a[i - 1]);

17         }

18         sort(a, a + n - 1);

19         bool flag = true;

20         for (int i = 0; i < n - 1; i++) {

21             if (a[i] != i + 1)

22                 flag = false;

23         }

24         cout << (flag ? "Jolly" : "Not jolly") << endl;

25     }    

26 }

 

你可能感兴趣的:(OJ)