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(题解)

HDU 1014 Uniform Generator

ACM HDU 1014 Uniform Generator

Uniform Generator HDU1014

(HDU)1014 --Uniform Generator(统一随机数生成)

(杭电 1014)Uniform Generator