题目链接:Ducci Sequence - UVA 1594 - Virtual Judge (vjudge.net)
这个题其实是个水题,但是不知道我的代码为什么是wrong answer,还请各位大佬指点指点:
头文件啥的就不写了~
set<vector<int>> p;
int n;
int main()
{
cin>>n;
while(n--)
{
int k,a;
cin>>k;
vector <int> m;
while(k--)
{
cin>>a;
m.push_back(a);
}
int len=m.size();
p.insert(m);
vector <int> temp;
vector<int> temp2;
int flag;
int flag2=1;
while(!p.count(temp))
{
if(!flag2)
p.insert(temp);
temp2.clear();
if(flag2)
{
flag2=0;
temp=m;
}
for(int i=0;i<len-1;i++)
{
temp2.push_back(abs(temp[i+1]-temp[i]));
}
temp2.push_back(abs(temp[len-1]-temp[0]));
temp.clear();
temp=temp2;
flag=0;
/*for(vector<int>::iterator it=temp2.begin();it!=temp2.end();it++)
{
cout<<*it;
}
cout<<endl;
*/
for(vector<int>::iterator it=temp2.begin();it!=temp2.end();it++)
{
if(*it!=0)
{
flag=1;
break;
}
}
if(!flag)
{
cout<<"ZERO"<<endl;
break;
}
}
if(flag)
{
cout<<"LOOP"<<endl;
}
}
return 0;
}