P1297 [国家集训队] 单选错位
Captain_Paul
2018-05-22 18:40:31
计算期望做对的题目数,只需要把每道题目做对的概率加起来即可!
当前一道题有4个选项,后一道题有6个选项时,做对的概率为1/6,
当前一道题有6个选项,后一道题有4个选项时,做对的概率也是1/6.
所以只要从左到右扫描a数组,累加相邻两数中较大数的倒数即可。
由于此题的输入比较神奇,所以用两个变量就可以模拟a数组。
```
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
const int mod=1e8+1;
int n,x,y,z,t,t1,t2;
double ans;
int main()
{
scanf("%d%d%d%d%d",&n,&x,&y,&z,&t);
--n; t1=t;
while (n--)
{
t2=((ll)t1*x+y)%mod;
ans+=1.0/max(t1%z+1,t2%z+1);
t1=t2;
}
ans+=1.0/max(t1%z+1,t%z+1);
printf("%.3lf\n",ans);
return 0;
}
```