POJ-2575

/********************************************************************
@file     Main_practise.cpp
@date     2014-8-21
@author   Tiger
@brief    Problem E: Jolly Jumpers
********************************************************************/
#include <cstdio>
#include <cstring>
#define SIZE 3000+1
//#define OJ

bool FLag[SIZE];
int  Arr[SIZE];

int main(int argc, const char* argv[])
{

#ifdef OJ
    freopen("input.txt", "r", stdin);
#endif

    int nCnt = 0;
    while (scanf("%d", &nCnt) != EOF)
    {
        for (int i=0; i<nCnt; ++i)
        {
            scanf("%d", &Arr[i]);
        }

        bool bResult = true;
        int  nResult = 0;
        memset(FLag, false, SIZE);
        for (int i=0; i<nCnt-1; ++i)
        {
            nResult = Arr[i+1] - Arr[i];
            nResult = nResult > 0 ? nResult : -nResult;
            if (nResult > nCnt-1 || 0 == nResult || true == FLag[nResult])
            {
                bResult = false;
                break;
            }
            else
            {
                FLag[nResult] = true;
            }
        }

        for (int i=1; i<nCnt-1; ++i)
        {
            if (false == FLag[i])
            {
                bResult = false;
                break;
            }
        }

        if (bResult)
        {
            printf("Jolly\n");
        }
        else
        {
            printf("Not jolly\n");
        }
    }

    return 0;
}

POJ-2575

时间: 2024-10-06 15:53:01

POJ-2575的相关文章

POJ 2575 Jolly Jumpers

Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16905   Accepted: 5082 Description A sequence of n > 0 integers is called a jolly jumper if the absolute values of the difference between successive elements take on all the values 1 throug

POJ 2575 Jolly Jumpers(简单题)

[题意简述]:将数列中相邻的两个数做差,判断得到的绝对值是否是1,2,--,n-1,如果是的话,则是Jolly ,否则not jolly. [分析]:开始时没有仔细看题,没有看到时相邻的两个数做差,以为任意两两做差. 而后重新分析题目后,解决了这道题目,我们可以使用一个标志数组来帮助我们储存得到的做差的绝对值的值,最后,我们只需要扫描一下这个数组看是否从1,2,--,n-1都有值与之相对应. 详见代码: // 324K 47Ms #include<iostream> #include<c

POJ 2575 &amp;&amp; ZOJ 1879 Jolly Jumper(整数序列)

链接:click here 题意:对于一个包含n>0个元素的整数序列,如果序列中相邻元素之差的绝对值取边1到n-1的所有值,那么这个序列就叫做Jolly Jumper序列, 思路:水题模拟~~,不过注意*,因为不小心,wrong了几遍. 代码: #include <stdio.h> #include <string.h> #include <iostream> #include <vector> #include <iterator> #i

POJ - 3186 Treats for the Cows (区间DP)

题目链接:http://poj.org/problem?id=3186 题意:给定一组序列,取n次,每次可以取序列最前面的数或最后面的数,第n次出来就乘n,然后求和的最大值. 题解:用dp[i][j]表示i~j区间和的最大值,然后根据这个状态可以从删前和删后转移过来,推出状态转移方程: dp[i][j]=max(dp[i+1][j]+value[i]*k,dp[i][j-1]+value[j]*k) 1 #include <iostream> 2 #include <algorithm&

POJ 2533 - Longest Ordered Subsequence(最长上升子序列) 题解

此文为博主原创题解,转载时请通知博主,并把原文链接放在正文醒目位置. 题目链接:http://poj.org/problem?id=2533 Description A numeric sequence of ai is ordered if a1 < a2 < ... < aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK)

POJ——T2271 Guardian of Decency

http://poj.org/problem?id=2771 Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 5932   Accepted: 2463 Description Frank N. Stein is a very conservative high-school teacher. He wants to take some of his students on an excursion, but he is

POJ——T2446 Chessboard

http://poj.org/problem?id=2446 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 18560   Accepted: 5857 Description Alice and Bob often play games on chessboard. One day, Alice draws a board with size M * N. She wants Bob to use a lot of c

poj 1088 滑雪 DP(dfs的记忆化搜索)

题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 求最大的下滑路径 分析:因为只能从高峰滑到低峰,无后效性,所以每个点都可以找到自己的最长下滑距离(只与自己高度有关).记忆每个点的最长下滑距离,当有另一个点的下滑路径遇到这个点的时候,直接加上这个点的最长下滑距离. dp递推式是,dp[x][y] = max(dp[x][y],dp[x+1][y]+

POJ 1385 计算几何 多边形重心

链接: http://poj.org/problem?id=1385 题意: 给你一个多边形,求它的重心 题解: 模板题,但是不知道为啥我的结果输出的确是-0.00 -0.00 所以我又写了个 if (ans.x == 0) ans.x = 0 感觉好傻逼 代码: 1 #include <map> 2 #include <set> 3 #include <cmath> 4 #include <queue> 5 #include <stack> 6

POJ 1741 Tree(树的点分治,入门题)

Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 21357   Accepted: 7006 Description Give a tree with n vertices,each edge has a length(positive integer less than 1001).Define dist(u,v)=The min distance between node u and v.Give an in