您的位置:首页 > 其它

pku 2575 Jolly Jumper

2010-08-19 08:10 155 查看
http://acm.pku.edu.cn/JudgeOnline/problem?id=2575

题意是给你n个数、看其相邻的数的差是否是由1~n-1组成、若是、则为Jolly Jumper 、否则不是。

#include <cstdio>
#include <cmath>
#include <iostream>
using namespace std;

int data[3010],number;
bool in[3010];

int main()
{
int i,flag;
while(scanf("%d",&number) != EOF)
{
flag = 0;
for(i = 0;i < number;i ++)
scanf("%d",&data[i]);
if(number == 1)
{
printf("Jolly/n");//当为一个数的时候
continue;
}
memset(in,false,sizeof(in));//初始化
for(i = 0;i < number-1;i ++)
{
if(abs(data[i+1] - data[i]) >= number)//判断是否大于等于n
{
printf("Not jolly/n");
flag = 1;
break;
}
in[abs(data[i+1] - data[i])] = true;//对应位置置为真
}
if(flag)
continue;
else
{
flag = 0;
for(i = 1;i <= number-1;i ++)
{
if(in[i] == false)//查找是否1~n-1有空存在
{
flag = 1;
break;
}
}
if(flag)
printf("Not jolly/n");
else
printf("Jolly/n");
}
}
return 0;
}


/*

4 1 4 2 3
5 1 4 2 -1 6


Jolly
Not jolly

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: