洛谷 P1152 欢乐的跳

题目描述

一个n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了[1,n−1]之间的所有整数,则称之符合“欢乐的跳”,如数组1423符合“欢乐的跳”,因为差的绝对值分别为:3,2,1

给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。

输入格式

每组测试数据第一行以一个整数n(1≤n≤1000)开始,接下来n个空格隔开的在[−10^8,10^8]之间的整数。

输出格式

对于每组测试数据,输出一行若该数组符合“欢乐的跳”则输出"Jolly",否则输出"Not jolly"。

输入输出样例

输入 #1
4 1 4 2 3
输出 #1
Jolly
输入 #2
5 1 4 2 -1 6
输出 #2
Not jolly

说明/提示

1≤n≤1000

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int main()
 4 {
 5     int n;
 6     cin>>n;
 7     int a[n];
 8     set<int>num;
 9     for(int i=0;i<n;i++){
10         cin>>a[i];
11     }
12     for(int i=0;i<n-1;i++){
13         num.insert(abs(a[i]-a[i+1]));
14     }
15     if(num.size()==n-1&&*num.begin()==1){
16         cout<<"Jolly";
17     }else{
18         cout<<"Not jolly";
19     }
20 }

猜你喜欢

转载自www.cnblogs.com/anbujingying/p/11293725.html