Jolly Jumpers |
Time Limit: 1 Seconds Memory Limit: 32768 K Total Submit:222 Accepted:95 |
Description 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. Each line of input contains an integer n < 3000 followed by n integers representing the sequence. 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
Source September and 30 September 2000 - Waterloo local c |
Source: #include<iostream> #include<bitset> using namespace std; bitset<3000>w; int main() { int n,a,b,c; while(cin>>n) { cin>>a; w.reset(); c=n; while(--c) { cin>>b; if(abs(a-b)<n&&abs(a-b)!=0) w.set(abs(a-b)); a=b; } if(w.count() == n-1) cout<<"Jolly"<<endl ; else cout<<"Not jolly"<<endl ; } return 0; }
|
很惭愧,现在才学会bitset的运用,呵呵,不过总比没学好(安慰一下自己)