您的位置:首页 > 其它

UVa1594 STL运用

2015-07-18 14:21 197 查看
如此水题WR了n次,总结是不细心,还是题做少了。

#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<string>
#include<map>
#include<set>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;

set< vector<int> > allArray;

int main()
{
int n,m;
scanf ("%d",&n);
while (n--)
{
int x;
scanf ("%d",&m);
vector<int> OneArray;
for (int i=0;i<m;i++){
scanf ("%d",&x);
OneArray.push_back (x);
}
vector<int> preArray;
int sign=0;
allArray.clear ();
for (int k=0;k<1001;k++)
{
sign=0;
//preArray.clear ();
//preArray =OneArray;
allArray.insert (OneArray);
//OneArray.clear ();
//for (int i=0;i<m;i++)
//OneArray.push_back( abs(preArray[i]-preArray[(i+1)%m]) );
int a=OneArray[0];
for (int i=0;i<m;i++)
OneArray[i]=abs (i<m-1?OneArray[i]-OneArray[i+1]:OneArray[i]-a);
for (int i=0;i<m;i++)
if (OneArray[i]!=0){
sign=1;
continue;
}
if (sign==0)
break;
if (allArray.count (OneArray)){
sign=1;
break;
}
}
if (sign==0)
printf ("ZERO\n");
else
printf ("LOOP\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: