• UVa 1594 Ducci Sequence


    A Ducci sequence is a sequence of n-tuples of integers. Given an n-tuple of integers (a1a2, ... an), the next n-tuple in the sequence is formed by taking the absolute differences of neighboring integers:

    a1a2... an$displaystyle 
ightarrow$ (| a1 - a2|,| a2 - a3|, ... ,| an - a1|)

    Ducci sequences either reach a tuple of zeros or fall into a periodic loop. For example, the 4-tuple sequence starting with 8,11,2,7 takes 5 steps to reach the zeros tuple:

    (8, 11, 2, 7) $displaystyle 
ightarrow$ (3, 9, 5, 1) $displaystyle 
ightarrow$ (6, 4, 4, 2) $displaystyle 
ightarrow$ (2, 0, 2, 4) $displaystyle 
ightarrow$ (2, 2, 2, 2) $displaystyle 
ightarrow$ (0, 0, 0, 0).

    The 5-tuple sequence starting with 4,2,0,2,0 enters a loop after 2 steps:

    (4, 2, 0, 2, 0) $displaystyle 
ightarrow$ (2, 2, 2, 2, 4) $displaystyle 
ightarrow$ ( 0, 0, 0, 2, 2$displaystyle 
ightarrow$ (0, 0, 2, 0, 2) $displaystyle 
ightarrow$ (0, 2, 2, 2, 2) $displaystyle 
ightarrow$ (2, 0, 0, 0, 2) $displaystyle 
ightarrow$

    (2, 0, 0, 2, 0) $displaystyle 
ightarrow$ (2, 0, 2, 2, 2) $displaystyle 
ightarrow$ (2, 2, 0, 0, 0) $displaystyle 
ightarrow$ (0, 2, 0, 0, 2) $displaystyle 
ightarrow$ (2, 2, 0, 2, 2) $displaystyle 
ightarrow$ (0, 2, 2, 0, 0) $displaystyle 
ightarrow$

    (2, 0, 2, 0, 0) $displaystyle 
ightarrow$ (2, 2, 2, 0, 2) $displaystyle 
ightarrow$ (0, 0, 2, 2, 0) $displaystyle 
ightarrow$ (0, 2, 0, 2, 0) $displaystyle 
ightarrow$ (2, 2, 2, 2, 0) $displaystyle 
ightarrow$ ( 0, 0, 0, 2, 2$displaystyle 
ightarrow$ ...

    Given an n-tuple of integers, write a program to decide if the sequence is reaching to a zeros tuple or a periodic loop.

    Input 

    Your program is to read the input from standard input. The input consists of T test cases. The number of test cases T is given in the first line of the input. Each test case starts with a line containing an integer n(3$ le$n$ le$15), which represents the size of a tuple in the Ducci sequences. In the following line, nintegers are given which represents the n-tuple of integers. The range of integers are from 0 to 1,000. You may assume that the maximum number of steps of a Ducci sequence reaching zeros tuple or making a loop does not exceed 1,000.

    Output 

    Your program is to write to standard output. Print exactly one line for each test case. Print `LOOP' if the Ducci sequence falls into a periodic loop, print `ZERO' if the Ducci sequence reaches to a zeros tuple.

    The following shows sample input and output for four test cases.

    Sample Input 

    4 
    4 
    8 11 2 7 
    5 
    4 2 0 2 0 
    7 
    0 0 0 0 0 0 0 
    6 
    1 2 3 1 2 3
    

    Sample Output 

    ZERO 
    LOOP 
    ZERO 
    LOOP
    
    
    这道题比较水啊,注意一点就是an-a1的时候a1有可能已经改变
    
    
    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int T;
        cin >> T;
        next:
        while(T--)
        {
            int n;
            vector<int> num;
            cin >> n;
            for(int i = 0; i < n; i++)
            {
                int t;
                cin >> t;
                num.push_back(t);
            }
    
            for(int cnt = 0; cnt < 1024; cnt++)
            {
                bool flag = true;
                int temp = num[0];
                for(int i = 0; i < num.size() - 1; i++)
                    num[i] = abs(num[i] - num[i+1]);
                num[num.size()-1] = abs(num[num.size()-1] - temp);
                for(int i = 0; i < num.size(); i++)
                    if(num[i]!=0)
                        flag = false;
                if(flag==true)
                {
                    cout << "ZERO" << endl;
                    goto next;
                }
            }
            cout << "LOOP" << endl;
        }
        return 0;
    }
    


  • 相关阅读:
    Codeforces Round #499 (Div. 2) C.FLY 数学推导_逆推
    Codeforces div2 #499 B. Planning The Expedition 大水题
    Lost Cows POJ
    洛谷P2915 [USACO08NOV]奶牛混合起来Mixed Up Cows 状压动归
    2018.9.30 ~ 2018.11.1 做题记录
    推荐一款强大的轻量级模块化WEB前端快速开发框架--UIkit
    jQuery Validate多实例讲解
    关于Css的垂直居中的一些方法
    关于浮动与清除浮动,你应该知道的
    使用 Vuex + Vue.js 构建单页应用
  • 原文地址:https://www.cnblogs.com/kunsoft/p/5312797.html
Copyright © 2020-2023  润新知