1.题目描述:点击打开链接
2.解题思路:模拟题意过程,到第1000步时判断所有数字是否已经为0即可
3.代码:
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<string>
#include<sstream>
#include<set>
#include<vector>
#include<stack>
#include<map>
#include<queue>
#include<cassert>
#include<cstdlib>
#include<ctime>
#include<cmath>
#include<functional>
using namespace std;
const int maxn = 20;
const int maxm = 1000;
int temp[maxn];
int main()
{
int t;
cin >> t;
while (t--)
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
cin >> temp[i];
int j;
for (j = 0; j < maxm; j++)
{
int first = temp[0];
for (int k = 0; k < n; k++)
{
if (k == n - 1)
temp[k] = temp[k]>first ? temp[k] - first : first - temp[k];
else
temp[k] = temp[k]>temp[k + 1] ? temp[k] - temp[k + 1] : temp[k + 1] - temp[k];
}
}
int flag = 1;
for (int i = 0; i < n; i++)
if (temp[i] != 0)
{
flag=0;
break;
}
if (flag)
cout << "ZERO" << endl;
else
cout << "LOOP" << endl;
}
return 0;
}