2472 幸运罗盘
时间限制 : 4000/2000 MS(Java/Others) | 内存限制 : 65536/32768 KB(Java/Others)
提交数 : 127 | 通过数 : 51
题目描述
小明有个幸运罗盘,上面有两个同心圆,每个圆的边上均匀分布着N个数字。两圈数字可以绕圆心分别转动,每当罗盘停止转动时,外圈和内圈的数字都会依次一一对应(每种对应情况出现的概率都相同)。每次共有N组对应数字,对每一组来说,如果对应的两个数字a、b的奇偶性相同则小明可得(a+b)块金币,否则小明可获得(a*b)块金币。求小明转一次圆盘后可获得的金币数的期望值。
输入要求
第一行一个整数N(3 <= N <= 10000),表示每圈数字的个数。
第二行N个整数a1~aN(1 <= ai <= 4),依次表示外圈数字的值(顺时针方向)。
第三行N个整数b1~bN(1 <= bi <= 4),依次表示内圈数字的值(顺时针方向)。
输出要求
输出可获得金币数的期望值。
为了保证精度,请用最简分数形式表示。如果最后结果是整数则写成分母为1的形式。
输入样例
3
1 2 3
3 2 1
输出样例
12/1
提示
对于样例,罗盘停止后的数字对应情况有三种:
1: 保持原始对应情况 1->3 2->2 3->1 获得金币(1+3)+(2+2)+(3+1) = 12
2: 内圈逆时针转一格 1->2 2->1 3->3 获得金币(1*2)+(2*1)+(3+3) = 10
3: 内圈逆时针转两格 1->1 2->3 3->2 获得金币(1+1)+(2*3)+(3*2) = 14
期望值为:(12 + 10 + 14) / 3 = 12
来源
NBU OJ
[ 返回顶端 ] | [ 代码提交 ] | [ 统计数据 ] | [ 历史提交 ]