#include<vector>
#include<cmath>
#include<iostream>
using namespace std;
bool fun(vector<int> &t, int size)
{
bool flag;
for(int count = 0; count < 1000; count++)
{
flag = true;
int i = 0, t0 = t[0]; // 注意这里要用t0保存第一位的值,因为最后一位的计算要用到
for( ; i < size - 1; i++)
t[i] = abs(t[i] - t[i+1]);
t[i] = abs(t0 - t[i]); //计算最后一位,如果直接写成t[0] - t[i]会出错,因为此时t[0]已经在前面的计算中变了
for(int i = 0; i < size; i++)
if(t[i] != 0)
{
flag = false;
break;
}
if(flag == true)
return true;
}
return false;
}
int main()
{
vector<int> t1;
int n1, n2, t;
cin >> n1;
for(int i = 0; i < n1; i++)
{
cin >> n2;
t1.clear(); //记得每次使用前清空vector
for(int j = 0; j < n2; j++)
{
cin >> t;
t1.push_back(t);
}
bool flag = fun(t1, n2);
if(flag == true)
cout << "ZERO" << endl;
else
cout << "LOOP" << endl;
}
return 0;
}
Ducci序列 Uva1594
最新推荐文章于 2022-08-16 16:25:47 发布