杭电OJ--1014
seed(x+1) = [种子 (x) + STEP]% MOD
其中 "%" 是模量运算符。
这样的函数将生成0和 MOD-1 之间的伪随机数 (种子)。此窗体的函数的一个问题是, 它们总是会反复生成相同的模式。为了最大限度地减少这种影响, 仔细选择 STEP 和 MOD 值可以在 (包括) 0 和 MOD-1 之间实现所有值的均匀分布。
例如, 如果 STEP = 3, MOD = 5, 则该函数将在重复循环中生成一系列伪随机数0、3、1、4、2。在本例中, 函数的每个 MOD 迭代都将生成0和 MOD-1 之间的所有数字, 包括0和 MOD-1。请注意, 根据每次发生种子 (x) 的函数生成相同 seed(x+1) 的性质, 这意味着如果一个函数将生成介于0和 MOD-1 之间的所有数字, 则它将在每个 MOD 迭代中均匀地生成伪随机数。
如果 STEP = 15, MOD = 20, 则该函数将生成系列0、15、10、5 (如果初始种子不是 0, 则生成任何其他重复系列)。这是一个很好的选择 STEP 和 MOD, 因为没有初始种子将生成所有的数字从0和 MOD-1。
您的程序将确定 STEP 和 MOD 的选择是否会生成伪随机数的均匀分布
3 5
15 20
63923 99999
3 5 Good Choice
15 20 Bad Choice
63923 99999 Good Choice
#include<cstring>
#include<cstdlib>
#include<stdio.h>
using namespace std;
int main()
{
int step,mode;
while(cin>>step>>mode){
for(i=0;i<mode;i++)
{
char num[100001]={'0'};
int seed;
seed=(i+step%mode)%mode;
num[seed]='1';
for(j=1;j<mode;j++)
{
flag=0;
seed=(seed+step%mode)%mode;
if(num[seed]=='1')
{
flag=1;
break;
}
else num[seed]='1';
}
if(!flag)
break;
printf("%10d%10d ",step,mode);
if(!flag)
printf("%-s\n","Good Choice");
else printf("%-s\n","Bad Choice");
printf("\n");
}
return 0;
}
杭电OJ--1014的更多相关文章
- C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~
暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,, ...
- 杭电oj 2095 & 异或^符号在C/C++中的使用
异或^符号,在平时的学习时可能遇到的不多,不过有时使用得当可以发挥意想不到的结果. 值得注意的是,异或运算是建立在二进制基础上的,所有运算过程都是按位异或(即相同为0,不同为1,也称模二加),得到最终 ...
- 用python爬取杭电oj的数据
暑假集训主要是在杭电oj上面刷题,白天与算法作斗争,晚上望干点自己喜欢的事情! 首先,确定要爬取哪些数据: 如上图所示,题目ID,名称,accepted,submissions,都很有用. 查看源代码 ...
- 杭电oj 4004---The Frog Games java解法
import java.util.Arrays; import java.util.Scanner; //杭电oj 4004 //解题思路:利用二分法查找,即先选取跳跃距离的区间,从最大到最小, // ...
- 『ACM C++』HDU杭电OJ | 1415 - Jugs (灌水定理引申)
今天总算开学了,当了班长就是麻烦,明明自己没买书却要带着一波人去领书,那能怎么办呢,只能说我善人心肠哈哈哈,不过我脑子里突然浮起一个念头,大二还要不要继续当这个班委呢,既然已经体验过就可以适当放下了吧 ...
- 杭电oj————2057(java)
question:A+ B again 思路:额,没啥思路/捂脸,用java的long包里的方法,很简单,只是有几次WA,有几点要注意一下 注意:如果数字有加号要删除掉,这里用到了正则表达式“\\+” ...
- 爬取杭电oj所有题目
杭电oj并没有反爬 所以直接爬就好了 直接贴源码(参数可改,循环次数可改,存储路径可改) import requests from bs4 import BeautifulSoup import ti ...
- 杭电OJ——1198 Farm Irrigation (并查集)
畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可 ...
- 杭电OJ——1007 Quoit Design(最近点对问题)
Quoit Design Problem Description Have you ever played quoit in a playground? Quoit is a game in whic ...
- 杭电 OJ 提交代码需要注意的问题
杭电acm 提交代码需要注意的问题 1. 用 Java 的时候类名请用 Main 2. Java 提交出现 PE 的可能原因有 1) 最基本的错误是空格问题,比如注意每行的末尾是否输出空格 2) 用 ...
随机推荐
- c语言container_of 编译报错
求指针ptr所在的结构体实例的首地址, #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #define co ...
- springmvc的Interceptor拦截器和servlet的filter过滤器
springmvc的Interceptor拦截器和servlet的filter过滤器 1.springmvc的Interceptor拦截器和servlet的filter过滤器springboot实现方 ...
- Apache SSI远程命令执行漏洞复现
漏洞原理:当目标服务器开启了SSI与CGI支持,就可以上传shtml文件,并利用语法执行任意命令,例如<!- - #exec cmd="ls"- ->,cmd后面跟要执 ...
- 【java数据结构与算法】选择排序
选择排序原理剖析: 假设数组arr使用选择排序 每一轮选出数组最小的元素 arr.lenth个元素,只需要找出arr.length-1个元素的正确位置 选择排序便进行结束 外层for循环控制选择排序的 ...
- H5云图后台读写CAD文件-在线CAD,网页CAD,网页浏览编辑CAD
说明 后台提供MxFileConvert.exe程序,它可以将CAD图纸转换成前台能加载显示的格式,程序调用方法见: https://help.mxdraw.com/?pid=32中的"如何 ...
- Linux上的I2C基础知识
Linux上的I2C基础知识 什么是I2C I2C(Inter-Integrated Circuit,eye-squared-C),也称为 I2C 或 IIC,是一种同步.多控制器/多目标(主/从). ...
- docker镜像打包成tar包,上传到另一台服务器
需要打包的服务器操作: 一.需要打包的服务器执行以下操作 docker save -o node.tar.gz calico/node # docker save -o 要打镜像包的名称 镜像 ...
- 【文献阅读】Automatic berthing for an underactuated unmanned surface vehicle: A real-time motion planning approach
(1)文章工作 This paper presents Extended Dynamic Window Approach (EDWA) for the automatic berthing of an ...
- nignx 代理前端服务
说明:研发给了一个前端包,需要进行代理访问 前端包名:web 一.部署nginx服务 略 二.配置代理 2.1 将前端包放置任意目录,如/home/manage 2.2 修改nginx配置 [root ...
- guava冲突导致的报错
Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.google ...