您的位置:首页 > 编程语言 > C语言/C++

uva1594-Ducci-模拟

2016-08-15 22:49 323 查看
题意:给出一个n元组,对于每个数求出它和下一个数的差的绝对值(最后一个数和第一个数求值),得到一个新的n元组。如果这个n元组会全变为0,则结束,否则为循环组。

思路:坑,只需要循环几百次,看和是不是0就可以了。

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
int main()
{
int t, n;
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
int a
, sum = 0;
for (int i=0; i<n; i++) {
scanf("%d", &a[i]); sum += a[i];
}
int cnt = 0;
while (sum != 0) {
int tmp = a[0];
sum = 0;
for (int i=0; i<n; i++) {
if (i < n-1) a[i] = abs(a[i] - a[i+1]);
else a[i] = abs(a[i] - tmp);
sum += a[i];
}
cnt++;
if (cnt == 666) { printf("LOOP\n");goto hhh;}
}
printf("ZERO\n");
hhh:;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM uva c++