# UVA 10038 Jolly Jumpers ## 題目連結 [UVA 10038](https://vjudge.net/problem/UVA-10038) ### 題目內容 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’. ### 解題思路 1.這題要利用set判斷裡面元素有n-1個,且要是1~n-1 2.只要判斷insert的元素都是1~1的元素且最後容器的size是n-1個就是Jolly ### 程式碼 ```cpp= #include<bits/stdc++.h> using namespace std; int a[3005]; int main(){ int n; while(cin>>n){ set<int> b; memset(a,0,sizeof a); for(int i=0;i<n;i++){ cin>>a[i]; } for(int i=1;i<n;i++){ int d=abs(a[i]-a[i-1]); if(d<n && d>0){ b.insert(d); } } if(b.size()==n-1){ cout<<"Jolly"<<endl; } else{ cout<<"Not jolly"<<endl; } } } ``` ## 測資 ### Sample input 4 1 4 2 3 5 1 4 2 -1 6 ### Sample output Jolly Not jolly ### 中文題目內容 ## 題目連結 [zerojudge d097](https://zerojudge.tw/ShowProblem?problemid=d097)