您的当前位置:首页【菜鸟进阶之路】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;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top