zoukankan      html  css  js  c++  java
  • 解题报告:POJ1597

    原题链接:POJ1597

    解析:主要难在理解题意,题目问是否分布均匀,就是说随机数是否从0~mod-1都有,其中seed0是可以是任意值,但是我们可以证明seed并不影响结果,由基本模运算可以得到:

    seed(i) = (seed(i-1) + step)%mod = (seed(i-2) + step + step)%mod = (seed(0) + i*step)%mod

    错误报告:

    • 题意要求输出每组数据后输出一行空行,没注意到
    • 在第二十五行输出字母,25行与21行之间只有4个空格

    代码示例:

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int main()
    {
    	long long step,mod;
    	while(~scanf("%lld%lld",&step,&mod)){
    		long long num[mod];
    		for(int i = 1;i <= mod;i++)
    			num[i-1] = ((i%mod)*(step%mod))%mod;
    		sort(num,num+mod);
    		bool flag = true;
    		for(int i = 0;i < mod;i++){
    			if(i == num[i])	continue;
    			else{
    				flag = false;
    				break;
    			}
    		}
    		printf("%10lld%10lld    ",step,mod);
    		if(flag)	puts("Good Choice
    ");
    		else puts("Bad Choice
    ");
    	}
    	return 0;
    } 
  • 相关阅读:
    P1495 曹冲养猪
    luoguP4281[AHOI2008]紧急集合 / 聚会
    NOIP1997 代数表达式
    luogu P3709大爷的字符串题
    luoguP3912 素数个数
    POJ 1065 Wooden Sticks
    POJ 1063 Flip and Shift
    POJ 1062 昂贵的聘礼
    POJ 1003 Hangover
    POJ 1001 Exponentiation
  • 原文地址:https://www.cnblogs.com/long98/p/10352186.html
Copyright © 2011-2022 走看看