pku 2575 Jolly Jumper

来源:互联网 发布:国家统计局人口数据图 编辑:程序博客网 时间:2024/09/21 09:21

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");elseprintf("Jolly/n");}}return 0;}
/*
4 1 4 2 35 1 4 2 -1 6
JollyNot jolly
*/