A1039. 欢乐的跳跃者

问题描述
  一个“欢乐的跳跃者”数列{ai}N是指将数列相邻两项相减并取绝对值,再将这些值按从小到大排序,能得到序列{bi}N-1满足bi=i。输入一个序列,判断该序列是否为“欢乐的跳跃者”序列?
输入格式
  一个数N,接下来是N个整数,这些整数的范围是-2^10到2^10-1。
输出格式
  如果满足“欢乐的跳跃者”条件,则输出“I'm happy!!”,否则输出“I'm unhappy!!”。  输出的字符串应没有多余的行末空格,且最后应回车换行。
样例输入
3 1 3 2
样例输出
I'm happy!!
数据规模和约定
  1<=N<=1000
package www.tsinsen.com;

import java.util.Arrays;
import java.util.Scanner;

public class A1039 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner scan=new Scanner(System.in);
        int n=scan.nextInt();
        int[] arr=new int[n];
        int[] result=new int[n-1];
        for(int i=0;i<n;i++) {
            arr[i]=scan.nextInt();
            if(i>0) {
                result[i-1]=Math.abs(arr[i]-arr[i-1]);
            }
        }
        Arrays.sort(result);
        boolean flag=true;
        for(int i=0;i<result.length;i++) {
            if(result[i]!=i+1) {
                flag=false;
            }
        }
        if(flag) {
            System.out.println("I'm happy!!");
        }else{
            System.out.println("I'm unhappy!!");
        }
    }

}

 

posted @ 2018-02-07 14:42  henu小白  阅读(190)  评论(0编辑  收藏  举报