07:有趣的跳跃

总时间限制: 1000ms 内存限制: 65536kB

描述

一个长度为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

题意

如果一个序列前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)就有"有趣的跳跃"并且任何只包含单个元素的序列一定存在“有趣的跳跃”.要求你写一个程序判定给定序列是否存在“有趣的跳跃”。

思路

用两个单独的for循环,和两个嵌套for循环完成.用来[输入][排序][输出Jolly或Not jolly]

代码实现

点击查看代码
#include<bits/stdc++.h>
using namespace std;
int n,a[31000],b[31000],c,d;//声明变量和列表
int main(){
cin>>n;//输入变量n
for(int i=1;i<=n;i++){
cin>>a[i];//使用for循环输入列表a
}
for(int i=1;i<=n-1;i++){
b[i]=abs(a[i]-a[i+1]);//使用for循环把列表a变成绝对值存入列表b
}
//冒泡排序
for(int x=1;x<=n-1;x++){
for(int i=1;i<=n-x-1;i++){
if(b[i+1]<b[i]){
swap(b[i],b[i+1]);//交换两个数的位置
}
}
}
//判断是否具有"有趣的跳跃"
for(int i=1;i<=n-1;i++){
if(b[i]!=i){
cout<<"Not jolly";
return 0;
}
}
cout<<"Jolly";
return 0;//结束程序
}

最新文章

  1. Effective Java 11 Override clone judiciously
  2. css左右侧自动填充宽度布局
  3. 集群(cluster)原理(转)
  4. Java异常--读书笔记
  5. Matlab单一变量曲线拟合-cftool
  6. nyoj 91 阶乘之和
  7. 高性能MySQL——第一章MySQL的架构与历史
  8. DllImport 相关错误
  9. Java读写Windows共享文件夹 .
  10. Linux&amp;shell 之Linux文件权限
  11. 查找附近的wifi密码
  12. C/C++ 数据结构之算法
  13. BZOJ_2588_Spoj 10628. Count on a tree_树剖+主席树
  14. 利用AMPScript获取Uber用户数据的访问权限
  15. 手机号读取城市数据库2018年3月excel版
  16. Linux每天一个命令:iostat
  17. ionic2 子页面隐藏去掉底部tabs导航,子页面全占满显示方法(至今为止发现的最靠谱的方法)
  18. 集群环境删除redis指定的key
  19. javaSE习题 第三章 运算符、表达式和语句
  20. delete method not allowed 405错误

热门文章

  1. linux 判断变量是否相等方法
  2. 无法访问mybatis.dto.StudengInVO-使用maven编译报错-2022新项目
  3. MySQL为什么&quot;错误&quot;选择代价更大的索引
  4. 飞书前端提到的竞态问题,在 Android 上怎么解决?
  5. java学习第一天.day04
  6. eclipse小技巧---快速复制全类名
  7. [网鼎杯 2018]Comment-1|SQL注入|二次注入
  8. flutter系列之:构建Widget的上下文环境BuildContext详解
  9. 系统CPU飙高,怎么排查?
  10. [HDU3976]Electric resistance(电阻)(信竞&物竞)(高斯消元)