羅区P1152楽しいジャンプの説明

羅区P1152楽しいジャンプ

タイトル説明

NN整数配列要素、アレイの2つの連続する要素間の差の絶対値が、全ての整数の間に[1、N-1] [1、N-1]を含むと呼ばれるマッチング「喜びジャンプ場合「14231423マッチングのアレイは、」喜びジャンプ」、差の絶対値があるので:3,2,13,2,1。

配列を指定して、あなたのタスクは、アレイは、に沿ったものであるかどうかを判断することである「ハッピージャンプ。」

入力形式

各試験ラインは、整数nで始まり(1 \ルN \ル1000)N(1≤n≤1000)を、[-10 ^ 8108 ^ 8-108,10で離間NNスペースに従っ整数]。

出力フォーマット

各テストケースの場合、出力1つのラインアレイが、そうでない場合は、出力「陽気ない」「喜びのジャンプ」出力「ジョリー」、に沿ったものである場合。

サンプル入力と出力

入力#1コピー

4 1 4 2 3

出力#1

ジョリー

入力#2

5 1 4 2 -1 6

出力#2

ない陽気

説明/ヒント

\(1 \ n \10001≤n≤1000\)

暴力、列挙された
非常に暴力的な水のトピック
この質問は、実際には2つの配列と二つ以上の配列を開くためのソリューションを持っているが
、私は十分にある。この質問は本当に唯一の配列をオープンする必要があると思う
、すべてのレコードこの数はバレルを開きますこの番号の前の数字
の真の違いをマークし、これらの二つの数字
入力後が完了し、1からnまでの列挙- 1は、「楽しいジャンプ」バレルは実際に存在しない場合、それは満たしていない
ではない陽気し、その後復帰出力を0
最後に、それはジョリーの出力端の終わりではない場合

#include<iostream>
#include<cmath>
#include<cstdio>

using namespace std;
bool a[100000005];

int main()
{
    int n;
    int now,last = 0;
    scanf("%d",&n);
    for(int i = 1;i <= n;++ i)
    {
        scanf("%d",&now);
        a[abs(now - last)] = true;
        last = now;
    }
    for(int i = 1;i < n;++ i)
    {
        if(a[i] != true)
        {
            cout << "Not jolly" << endl;
            return 0;
        }
    }
    cout << "Jolly" << endl;
    return 0;
}

仕事をして前に、純粋に水のスーパー洪水の問題、

おすすめ

転載: www.cnblogs.com/acioi/p/11600450.html