#509. 欢乐的跳
欢乐的跳
题目背景
在一个遥远的整数王国里,住着一位热爱跳跃的国王。他每天都要在数组的石阶上蹦跶,并且坚持认为:只有每一步的跳跃距离恰好覆盖了所有可能的步伐长度,才算真正的欢乐。
题目描述
给定一个包含 个整数的数组 。
定义相邻两元素之间的跳跃距离为:
如果这 个跳跃距离恰好包含了从 到 的所有整数(每个至少出现一次),则称该数组符合“欢乐的跳”。
例如数组 符合“欢乐的跳”,因为相邻差的绝对值为:
恰好覆盖了 中的所有整数。
输入格式
每组测试数据第一行以一个整数 ()开始。
接下来一行包含 个空格隔开的整数,每个整数在 之间。
注意:本题可能包含多组测试数据,直到文件结束(EOF)。
输出格式
对于每组测试数据,输出一行:
- 若该数组符合“欢乐的跳”,输出
Jolly - 否则输出
Not jolly
输入输出样例 #1
输入 #1
4 1 4 2 3
输出 #1
Jolly
输入输出样例 #2
输入 #2
5 1 4 2 -1 6
输出 #2
Not jolly
样例解释
样例 1
数组为 ,相邻差的绝对值为:
恰好包含 ,所以输出 Jolly。
样例 2
数组为 ,相邻差的绝对值为:
- 缺少 (,需要覆盖 )
- 出现 ,超出范围
所以输出 Not jolly。
数据范围与提示
- 输入可能有多组,读到文件结束为止
- 建议使用布尔数组或集合记录出现过的跳跃距离
小提示
当 时,不存在相邻元素对,跳跃距离集合为空。此时从 到 的范围也是空的,因此默认符合“欢乐的跳”,应输出 Jolly。