P1297 [国家集训队] 单选错位

Captain_Paul

2018-05-22 18:40:31

Personal

计算期望做对的题目数,只需要把每道题目做对的概率加起来即可! 当前一道题有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; } ```