Uniform Generator HDU1014
Posted mch5201314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Uniform Generator HDU1014相关的知识,希望对你有一定的参考价值。
题意
给你公式seed(x+1) = [seed(x) + STEP] % MOD ,输入step和mod,
问你是否可以从第一项0,算到mod,它们是否都不同
是 good choice 否则 bad choice
分析
枚举过去
code
#include<iostream>
#include<string.h>
#include<algorithm>
#include<string>
using namespace std;
#define ll long long
int a[100010];
int main(){
//freopen("in.txt","r",stdin);
int s,m;
while(cin>>s>>m){
int ans=0;
int cnt=1;
memset(a,0,sizeof(a));
a[0]++;
bool flag=0;
while(1){
if(cnt==m) {
flag=1;
break;
}
ans=(ans+s)%m;
a[ans]++;
if(a[ans]>1) break;
cnt++;
}
printf("%10d%10d",s,m);
if(flag)
cout<<" Good Choice"<<endl<<endl;
else
cout<<" Bad Choice"<<endl<<endl;
}
return 0;
}
以上是关于Uniform Generator HDU1014的主要内容,如果未能解决你的问题,请参考以下文章
HDU 1014 Uniform Generator(题解)
ACM HDU 1014 Uniform Generator