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
import java.util.Scanner;
import java.util.Vector;
public class UVA10038 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()) {
String s = sc.nextLine();
String box[] = s.split(" ");
Vector<Integer> vi = new Vector<Integer>();
int set[] = new int[box.length];
for (int i = 1; i < box.length; i++)
set[i] = Integer.parseInt(box[i]);
for (int i = 1; i < box.length - 1; i++) {
int temp = 0;
temp = Math.abs(set[i] - set[i + 1]);
if (temp < box.length - 1 && temp != 0
&& vi.indexOf(temp) == -1) {
vi.add(temp);
}
}
if (vi.size() == Integer.parseInt(box[0]) - 1) {
System.out.println("Jolly");
} else {
System.out.println("Not jolly");
}
}
}
}
留言
張貼留言