您的当前位置:首页【菜鸟进阶之路】P1152 欢乐的跳 - 洛谷
【菜鸟进阶之路】P1152 欢乐的跳 - 洛谷
来源:锐游网
一、题目部分
题目描述
一个n个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了[1,n-1]之间的所有整数,则称之符合“欢乐的跳”,如数组1 4 2 3符合“欢乐的跳”,因为差的绝对值分别为:3,2,1。
给定一个数组,你的任务是判断该数组是否符合“欢乐的跳”。
输入格式
每组测试数据第一行以一个整数n(1≤n≤1000)开始,接下来n个空格隔开的在[-10^8 −
10^8]之间的整数。
输出格式
对于每组测试数据,输出一行若该数组符合“欢乐的跳”则输出"Jolly",否则输出"Not jolly"。
输入输出样例
输入 #1
4 1 4 2 3
输出 #1
Jolly
输入 #2
5 1 4 2 -1 6
输出 #2
Not jolly
二、解题过程
思路
(1)输入
(2)判断是否符合绝对值条件
(3)输出判断结果
提交AC答案
#include<bits/stdc++.h>
using namespace std;
int n,a[10000];
int search(int *a,int n)
{
for(int i=1;i<n;i++)
{
int d=a[i]-a[i-1];
if( ( d<-1 && d>1 ) || ( d>(n-1) || d<(1-n) ) )
{
return 0;
break;
}
}
}
int main()
{
//输入整数n
scanf("%d",&n);
//输入相应数组
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//判断是否符合“欢乐的跳”
search(a,n);
//输出最终结果
if(search(a,n)==0) printf("Not jolly");
else printf("Jolly");
return 0;
}
因篇幅问题不能全部显示,请点此查看更多更全内容