#P7121. Ame 和 Gura 的奇妙探险
Ame 和 Gura 的奇妙探险
Description
Ame 知道,只要她能够找到初始化 MT19937 引擎时使用的种子,她就能够推断出自己如何才能获得一把精准采集的镐子。于是她游历世界,并通过聪明的侦探头脑算出了这个 MT19937 引擎 刚被初始化后 生成的 个随机数(注:这里的 是 MT19937 引擎中的一个参数)。现在她把这 个随机数给了你,希望你能够推断出初始化 MT19937 引擎时使用的种子()。值得注意的是,Mivicraft 使用的并非标准的 MT19937 引擎,其中的一些参数与论文相比有所改变,Ame 把它们附加到了输入中。请你帮帮 Ame 吧!
好心的 Mivik 为你准备了一份简单易懂的 MT19937 实现,请在附件中查看。
Input Format
第一行 10 个非负整数,分别对应 MT19937 中的 10 个参数:、、、、、、、、 和 。
接下来 行,每行一个非负整数,依次表示 MT19937 引擎刚被初始化后生成的 个随机数。
Output Format
一行一个非负整数,代表 MT19937 引擎初始化时使用的种子。数据保证有解,如果有多个解,你只需要输出任意一个即可。
见 sample/1.in
见 sample/1.out
见 sample/2.in
见 sample/2.out
Hint
样例解释 #1
十个参数全部使用标准的 MT19937 参数,种子为 233333。也就是说,你可以通过下面的程序产生同样的随机数序列:
#include <iostream>
#include <random>
std::mt19937 engine(233333);
int main() {
for (int i = 0; i < 624; ++i)
std::cout << engine() << std::endl;
return 0;
}
测试点约束
本题采用捆绑测试。
对于全部数据,有 ,,,,保证 是奇数。
每个子任务的具体限制见下表:
| 子任务编号 | 分值 | 特殊限制 |
|---|---|---|
| 1 | 20 | 种子小于等于 |
| 2 | 30 | , |
| 3 | 50 | 无 |
注:下发文件使用 UTF-8 编码,请使用可识别该编码的编辑器打开。
附件下载备用链接:百度网盘 提取码:jf9e
京公网安备 11011102002149号