码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 2575 Jolly Jumpers(简单题)

时间:2014-09-23 17:13:55      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:style   io   os   使用   for   sp   on   c   代码   

【题意简述】:将数列中相邻的两个数做差,判断得到的绝对值是否是1,2,……,n-1,如果是的话,则是Jolly ,否则not jolly。

【分析】:开始时没有仔细看题,没有看到时相邻的两个数做差,以为任意两两做差。

而后重新分析题目后,解决了这道题目,我们可以使用一个标志数组来帮助我们储存得到的做差的绝对值的值,最后,我们只需要扫描一下这个数组看是否从1,2,……,n-1都有值与之相对应。

详见代码:


// 324K 47Ms
#include<iostream>
#include<cmath>
using namespace std;

int flag[30001];

int main()
{
	int n;
	int a,b;
	int tmp;
	while(cin>>n)
	{
		memset(flag,0,sizeof(flag));
		cin>>a;
		for(int i = 1;i<n;i++)
		{
			cin>>b;
			tmp = abs(b-a);
			flag[tmp] = 1;
			a = b;
		}
		int j;
		for(j = 1;j<n;j++)
		{
			if(flag[j] == 0)
				break;
		}
		if(j == n)  
            cout << "Jolly" << endl;  
        else  
            cout << "Not jolly" << endl;
	}
	return 0;
}


POJ 2575 Jolly Jumpers(简单题)

标签:style   io   os   使用   for   sp   on   c   代码   

原文地址:http://blog.csdn.net/u013749862/article/details/39499421

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!