为了账号安全,请及时绑定邮箱和手机立即绑定

有趣的跳跃,求大神!

有趣的跳跃,求大神!

C++
一叶飘零丶 2016-01-20 18:18:58
一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。例如,1 4 2 3存在“有趣的跳跃”,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在“有趣的跳跃”。你需要写一个程序判定给定序列是否存在“有趣的跳跃”。输入一行,第一个数是n(0 < n < 3000),为序列长度,接下来有n个整数,依次为序列中各元素,各元素的绝对值均不超过1,000,000,000。输出一行,若该序列存在“有趣的跳跃”,输出"Jolly",否则输出"Not jolly"。样例输入4 1 4 2 3样例输出Jolly
查看完整描述

5 回答

?
青春灬似水流年

TA贡献1条经验 获得超1个赞

#include<cmath>

#include<iostream>

#include<cstdio>

#include<algorithm>

#include<cstring>

#include<queue>

#include<stack>

using namespace std;

const int maxn=3110;

int main()

{

        int n,a[maxn],b[maxn];

    cin>>n;

    if(n==1)

    {

        cout<<"Jolly";

        return 0;

    }

    int tot=0;

    memset(a,0,sizeof(a));memset(b,0,sizeof(b));

    for(int i=1;i<=n;i++)

    {

        cin>>a[i];

    }

    for(int i=1;i<n;i++)

    {

        b[i]=fabs(a[i]-a[i+1]);

        tot++;

    }

        sort(b,b+tot+1,less<int>());

    for(int i=1;i<n-1;i++)

    {

        if(b[i]+1!=b[i+1])

        {

            cout<<"Not jolly";

        return 0;

    }

}

if(b[n-2]+1!=b[n-1])cout<<"Not jolly";

cout<<"Jolly";

return 0;

}


查看完整回答
1 反对 回复 2016-02-11
?
从此蜕变

TA贡献5条经验 获得超3个赞

#include<cstdio>#include<algorithm>using namespace std;int abs(int n){if(n>=0)return n;else return -n;}int main(){int n,i,a[110000],b[100001],m=0,p=1;scanf("%d",&n);if(n==1){printf("Jolly");return 0;}for(i=1;i<=n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++)b[++m]=abs(a[i+1]-a[i]);sort(b+1,b+m+1);for(i=1;i<=m;i++)if(b[i]!=p++){printf("Not jolly");return 0;}printf("Jolly");return 0;}


查看完整回答
2 反对 回复 2016-01-21
?
郭教兽

TA贡献2条经验 获得超1个赞

#include<cstdio>#include<algorithm>using namespace std;int abs(int n){if(n>=0)return n;else return -n;}int main(){int n,i,a[110000],b[100001],m=0,p=1;scanf("%d",&n);if(n==1){printf("Jolly");return 0;}for(i=1;i<=n;i++)scanf("%d",&a[i]);for(i=1;i<n;i++)b[++m]=abs(a[i+1]-a[i]);sort(b+1,b+m+1);for(i=1;i<=m;i++)if(b[i]!=p++){printf("Not jolly");return 0;}printf("Jolly");return 0;}

查看完整回答
1 反对 回复 2016-01-20
?
郭教兽

TA贡献2条经验 获得超1个赞

呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵呵啊哈哈哈哈哈哈哈哈哈哈


查看完整回答
反对 回复 2016-01-20
  • 5 回答
  • 0 关注
  • 8191 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信