poj 2575 Jolly Jumpers

简介:

很奇怪的一道题,受了discuss的误导,居然当n==1的时候输出Jolly是错的,后来去掉反而正确了。。。

一个flag就搞定的东西,搞不懂为什么有些人用到排序,真是没事找事。。。

题目解析:求给出序列的各个值之差是否能覆盖1~n-1,要是能,输出:"Jolly",否则输出:"Not jolly",其实不难,只要把各个值得绝对值求出来,看能否覆盖1~n-1。


#include <stdio.h>
#include <string.h>

int flag[3002];

inline int myAbs(int a) { return a>0?a:(-a); }

int main()
{
	int n;

	int i;
	int x,y;
	while(~scanf("%d",&n))
	{
		memset(flag,0,sizeof(flag));

		scanf("%d",&x);
		for(i=1;i<n;i++)
		{
			scanf("%d",&y);
			flag[myAbs(y-x)]=1;
			x=y;
		}

		for(i=1;i<n;i++)
			if(flag[i]==0)
				break;

		if(i==n)
			printf("Jolly\n");

		else
			printf("Not jolly\n");
	}

	return 0;
}



相关文章
|
1月前
|
算法
Wormholes—POJ3259
Wormholes—POJ3259
|
存储
F-POJ-3414 Pots
POJ-3414 Time Limit:1000 ms Memory Limit:65536 K Description You are given two po...
978 0
|
测试技术
POJ 1001
此题用最朴素的思路实现即可,需模拟加法器,乘法器,最烦人的地方是特殊情形,如末位是小数点(12.^2=144,取小数点),整数末位是0(100^2=10000),0次幂,测试用例可能超出题目中说的范围,可能包含0次幂(100.0^0=0, 0.10^1=0.1)。
734 0
|
机器学习/深度学习
|
算法 计算机视觉
最小割-poj-2914
poj-2914-Minimum Cut Description Given an undirected graph, in which two vertices can be connected by multiple edges, what is the size of the minimum cut of the graph? i.e. how many edges must b
1538 0