1 solutions
-
3
题意
求一个公式,问在第几次出现重复(明摆着要使用去重数据结构)
思路
还是set大佬
存储在set里面,判断是否重复
代码
注意要
c++11(O2)
!!!#include<iostream> #include<unordered_set> #define int long long using namespace std; int a,b,c; unordered_set<int>se;//要用这个 signed main() { cin>>a>>b>>c;//输入 int num=1; for(int i=1;i<2000000;i++)//范围为2000000 { if(se.find(num)!=se.end())//找到重复 { cout<<i-1;//输出 return 0;//提前散花 } se.emplace(num);//添加元素 num=(a*num+num%b)%c;//计算元素 } cout<<-1;//输出找不到 return 0;//完结散花 }
- 1
Information
- ID
- 258
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- 8
- Tags
- (None)
- # Submissions
- 101
- Accepted
- 14
- Uploaded By