PC/UVa:110201/10038
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main()
{
int n = 0, minus;
while (cin >> n){
vector<int> vi(n, 0);
vector<bool> vb(n, false);
for (int i = 0; i < n; i++)
{
cin >> vi[i];
}
for (int i = 1; i < n; i++)
{
minus = abs(vi[i] - vi[i - 1]);
if (minus > 0 && minus < n) vb[minus] = true;
}
int i = 1;
while (i < n){
if (!vb[i]){
cout << "Not jolly" << endl;
break;
}
i++;
}
if (i == n) cout << "Jolly" << endl;
}
return 0;
}
/*
4 1 4 2 3
5 1 4 2 -1 6
*/
本文深入探讨了JollyJumper算法的实现细节,通过C++代码展示了如何判断一组数是否为快乐跳跃序列。该算法首先读取输入的整数序列,然后计算每对相邻元素之间的绝对差值,并检查这些差值是否构成1到n-1范围内的所有整数,以此判断序列是否符合快乐跳跃条件。
290

被折叠的 条评论
为什么被折叠?



