UVA 1594

来源:互联网 发布:python客户端开发 编辑:程序博客网 时间:2024/06/05 23:44


问题描述:点击打开链接



/*    思路:输入T组数据,首先猜测T数值并不大,    输入n元组3 ≤ n ≤ 15,看出最大也就15,而每次走一步也就为n,    最多也就1000步,数值很小所以直接穷举便可,循环节也就可以直接忽略    也可以将每次计算的结果放入set中,只要该结果在出现一次,那么便是循环节*/import java.util.Scanner;public class Main{    public static void main(String[] args)     {        Scanner cin = new Scanner(System.in);        int T = cin.nextInt();        while(T--!=0)        {            int n = cin.nextInt();            int arr[]=new int[n];            for(int i=0;i<n;++i)                arr[i]=cin.nextInt();            boolean flag = false;            for(int i=0;i<1000;++i)            {                int num = 0;                int arr1 = arr[0];                for(int j=0;j<arr.length-1;++j)                {                    arr[j] = Math.abs(arr[j]-arr[j+1]);                    num += arr[j];                }                arr[arr.length-1] = Math.abs(arr[arr.length-1]-arr1);                num += arr[arr.length-1];                if(num==0){flag=true;break;}            }            if(flag)System.out.println("ZERO");            else System.out.println("LOOP");        }    }}


原创粉丝点击