#265. 涂错了卡
涂错了卡
题目描述
小 A 和小 B 正在参加考试。
考试共 n 道题目,全部为单选题,即每道题目给出若干个选项,但只有一个选项是正确的。不同的题目,给出的选项个数可能不一样。第 i 道题目给出了 个选项。
小 A 做题完全靠蒙。他连题都不看,直接在答题卡上随机涂答案。很快,他就做完了所有的题目。显然,他期望做对的题目数量是 。
小 B 做题则完全靠实力。他每道题都非常认真去做,而且全部做对了。不过他全部做完的时候马上就要交卷了,于是他慌忙把答案涂到了答题卡上。不幸的是,由于太过慌忙,他把答案涂错了行,第 i 题的答案被涂到了第 i+1 题的选项上。特别地,第 n 道题的答案涂到了第 1 题的选项上。
等到交卷出场后,小 B 才猛然意识到问题,但是已经无法挽回。不过,小 B 仍然想知道,他能期望做对多少道题目?
输入格式
由于 n 比较大,这里采用了动态生成数据的方式。
输入只有一行,包含五个整数
靠以下 C++ 代码生成:
const int mod=1e8+1;
int n,a,b,c,d;
cin>>n>>a>>b>>c>>d;
s[1]=d;
for (int i = 2; i <= n; i++)
s[i] = (s[i-1] * a + b) % mod;
for (int i = 1; i <= n; i++)
s[i] = s[i] % c + 1;
输出格式
一行,一个实数,保留 3 位小数,表示答案
样例1输入
3 2 0 4 1
样例1输出
1.167
样例1说明
| 正确答案 | 小 B 的答案 | 做对题目 | 出现概率 |
|---|---|---|---|
。
共有 种情况,每种情况出现的概率是 ,小 B 期望做对 题。(相比之下,小 A 随机就能期望做对 题)
样例2输入
1234567 8910 11121314 23333333 98765432
样例2输出
0.115
数据范围
对于 的数据,。
对于 的数据,。
对于 的数据,。
对于 的数据,,。
相关
在下列比赛中: