Uva1594 Ducci Sequence 【set,vector应用】【习题5-2】
2016-11-06 19:31
239 查看
题目:Ducci Sequence
题意:按题中给出表达式计算序列为死循环还时变成0。
思路:用vector存放每次计算出的n元祖,首先判断每次计算的元组是否全为0,否则将放入set集合,检测set集合中是否出现过此元祖,出现说明为死循环!
代码:
#include <iostream>
#include <vector>
#include <set>
#include <math.h>
using namespace std;
vector<int>integer;
set< vector<int> >seq;//集合所存放的是n元组
bool judgeZore(int a[],int n)
{
int cot = 0;
for(int i=0;i<n;i++)
if(a[i] == 0)
cot++;
if(cot == n)
return true;
return false;}
bool judgeLoop()
{
if(seq.count(integer))
return true;
seq.insert(integer);
return false;}
int main()
{
int t,n,figital,a[20];
cin >> t;
while(t--)
{
cin >> n;
for(int i=0;i<n;i++)
{
cin >> figital;
integer.push_back(figital);
a[i] = figital;
}
seq.insert(integer);
while(true)
{
integer.clear();
int temp = a[0];
for(int i=0;i<n-1;i++)
{
a[i] = abs(a[i]-a[i+1]);
integer.push_back(a[i]);
}
a[n-1] = abs(a[n-1]-temp);
integer.push_back(a[n-1]);
if(judgeZore(a,n))
{
cout << "ZERO" << endl;
break;
}
if(judgeLoop())
{
cout << "LOOP" << endl;
break;
}
}
seq.clear();
}
return 0;
}
题意:按题中给出表达式计算序列为死循环还时变成0。
思路:用vector存放每次计算出的n元祖,首先判断每次计算的元组是否全为0,否则将放入set集合,检测set集合中是否出现过此元祖,出现说明为死循环!
代码:
#include <iostream>
#include <vector>
#include <set>
#include <math.h>
using namespace std;
vector<int>integer;
set< vector<int> >seq;//集合所存放的是n元组
bool judgeZore(int a[],int n)
{
int cot = 0;
for(int i=0;i<n;i++)
if(a[i] == 0)
cot++;
if(cot == n)
return true;
return false;}
bool judgeLoop()
{
if(seq.count(integer))
return true;
seq.insert(integer);
return false;}
int main()
{
int t,n,figital,a[20];
cin >> t;
while(t--)
{
cin >> n;
for(int i=0;i<n;i++)
{
cin >> figital;
integer.push_back(figital);
a[i] = figital;
}
seq.insert(integer);
while(true)
{
integer.clear();
int temp = a[0];
for(int i=0;i<n-1;i++)
{
a[i] = abs(a[i]-a[i+1]);
integer.push_back(a[i]);
}
a[n-1] = abs(a[n-1]-temp);
integer.push_back(a[n-1]);
if(judgeZore(a,n))
{
cout << "ZERO" << endl;
break;
}
if(judgeLoop())
{
cout << "LOOP" << endl;
break;
}
}
seq.clear();
}
return 0;
}
相关文章推荐
- UVA ~ 1594 ~ Ducci Sequence (模拟,set + vector)
- 习题5-2 Ducci序列(Ducci Sequence, ACM/ICPC Seoul 2009, UVa1594)
- Uva1593 Alignment of Code 【vector,stream应用】【习题5-1】
- UVA - 1594 Ducci Sequence (set)
- UVA12096 the SetStack Computer(STL中,map,set,vector,stack联合应用)
- uva1594 Ducci Sequence 习题5-2 (STL map练习)
- uva 10391 Compound Words 习题5-5 (STL string、set练习)
- uva 1594 Ducci Sequence 哈希
- uva_127,栈以及vector的应用
- uva_127,栈以及vector的应用
- UVA 11991 STL中map、vector的应用
- UVA - 471 Magic Numbers set + vector
- Uva 11020 Efficient Solutions (set的应用)
- Uva - 1594 - Ducci Sequence
- uva 12096 例题5-5 map vector set stack 混用
- UVa 1594 Ducci Sequence
- UVA 1594 - Ducci Sequence
- UVa1594 - Ducci Sequence
- UVA 10815 Andy's First Dictionary 安迪的字典 stl应用 set+string做法
- UVA 1594:Ducci Sequence (模拟 Grade E)