zoukankan      html  css  js  c++  java
  • 10038 Jolly Jumpers

    题目大意:

    题目原文:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=12&page=show_problem&problem=979

    n个数的数列,前后两个数之间的差组成的集合正好是1~n-1,这样的数列叫做jolly jumper。题目要求输入一个数列,输出Jolly或者Not jolly。

    首先,输入n,按输入的顺序,逐一读取每个数,第一个数用x储存起来,然后读取第二个数&y,计算出|x-y|然后判断这个数字是不是在1~n-1之间,如果不是,那么Not jolly,如果是,用一个数组a标记这个差值已经出现过了。然后x=y,再读取第三个数&y,然后循环下去,若果出现之前已经出现过的差值,那么Not jolly。如果从头到尾都没有重复的差值,那么不需要判断是否全部出现过,可以输出Jolly了。

    附上代码:

    View Code
     1 #include<stdio.h>
     2 int main()
     3 {
     4  int a[3001],n,i,x,y,b,c;
     5  while(scanf("%d",&n)!=EOF)
     6  {
     7   b=0;
     8   for(i=1;i<=n;i++) a[i]=0;//初始化数组
     9   scanf("%d",&x);
    10   for(i=2;i<=n;i++)
    11   {
    12    scanf("%d",&y);
    13    if(x>y) c=x-y;//求差的绝对值
    14     else c=y-x;
    15    if(c>=1&&c<=n-1&&a[c]==0) //这个差值c必须是1~n-1直接,且数组还未被标记过
    16          {a[c]=1;x=y;}//标记a数组,且x=y继续下一个数据
    17     else {b=1;}
    18   }
    19   if(b==1) printf("Not jolly\n");
    20   else printf("Jolly\n");
    21  }
    22  return 0;
    23 }
  • 相关阅读:
    VUE 路由
    JS小表达式
    JS正则表达式
    react案例—实现组件之间的通信
    React脚手架搭建
    react属性三ref
    react属性二props
    java多线程2
    jvm小结2
    spark小结3
  • 原文地址:https://www.cnblogs.com/syiml/p/2912825.html
Copyright © 2011-2022 走看看