首页 > 代码库 > UVA10038 Jolly Jumpers
UVA10038 Jolly Jumpers
Problem E: Jolly Jumpers
1 4 2 3is a jolly jumper, because the absolutes differences are 3, 2, and 1 respectively. The definition implies that any sequence of a single integer is a jolly jumper. You are to write a program to determine whether or not each of a number of sequences is a jolly jumper.
Input
Each line of input contains an integer n <= 3000 followed by n integers representing the sequence.
Output
For each line of input, generate a line of output saying "Jolly" or "Not jolly".Sample Input
4 1 4 2 3 5 1 4 2 -1 6
Sample Output
Jolly Not jolly
题意是要相邻的两个数的绝对值在[1,n),而且这个范围内的每个数都要出现一次。
#include <stdio.h> #include <string.h> #include <stdlib.h> int vis[3002]; int main() { int n, a, b, ok, t, m; while(scanf("%d", &n) != EOF){ scanf("%d", &a); m = n; ok = 1; memset(vis, 0, sizeof(vis)); while(--n){ scanf("%d", &b); if(ok == 0) continue; if((t = abs(a - b)) == 0 || t >= m || vis[t]) ok = 0; a = b; vis[t] = 1; } printf(ok ? "Jolly\n" : "Not jolly\n"); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。