【概率&数学期望】A Dangerous Maze LightOJ
来源:互联网 发布:免费通达信看盘软件 编辑:程序博客网 时间:2024/05/22 06:50
Think:
1知识点:概率&数学期望
2题意:
(1):T组测试数据
(2):每组测试数据,n扇门,每扇门对应一个xi,等概率进入任意一扇门,若进入门的xi为正,则xi秒之后离开迷宫,若进入们的xi为负,则xi秒之后返回初始点
(3):询问离开迷宫的数学期望
(4):输出格式:测试数据 期望值最简分子/期望值最简分母
3解题思路:
(1)xi > 0: d1 = (1/n) * (x1+x2+…+xu)
(2)xi < 0: d2 = (1/n) * (abs(y1)+abs(y2)+…+abs(yv) + v*d)
即d = d1 + d2 = (1/n) * (x1+x2+…+xu) +(abs(y1)+abs(y2)+…+abs(yv) + v*d)
即(n-v) * d = x1 + x2 + … + xu + abs(y1) + abs(y2) + … + abs(yv)
即:
若v == n 则 d = inf
除此之外:
sum = x1 + x2 + … + xu + abs(y1) + abs(y2) + … + abs(yv)
t = gcd(sum, n-v)
d = p/q
p = sum/gcd(sum, n-v)
q = (n-v)/gcd(sum, n-v)
vjudge题目链接
建议参考博客——题意分析
以下为Accepted代码
#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;int gcd(int x, int y);int main(){ int cas = 1, T, n, m, sum, i, x; scanf("%d", &T); while(T--){ scanf("%d", &n); m = 0, sum = 0; for(i = 0; i < n; i++){ scanf("%d", &x); if(x > 0) sum += x; else { sum += -x; m++; } } if(m == n){ printf("Case %d: inf\n", cas++); } else { int t = gcd(sum, n-m); printf("Case %d: %d/%d\n", cas++, sum/t, (n-m)/t); } } return 0;}int gcd(int x, int y){ if(!y) return x; else return gcd(y, x%y);}
阅读全文
1 0
- 【概率&数学期望】A Dangerous Maze LightOJ
- Lightoj 1027 A Dangerous Maze 概率期望
- lightOJ 1027 A Dangerous Maze 概率&期望
- LightOJ 1027 A Dangerous Maze 概率期望学习小记
- [LightOJ 1027] A Dangerous Maze (概率与期望)
- LightOJ-1027-A Dangerous Maze(概率/期望)
- Lightoj 1027 - A Dangerous Maze 【期望】
- 【期望dp】Lightoj 1027 A Dangerous Maze
- LightOJ 1027 - A Dangerous Maze (期望)
- LightOJ 1027 A Dangerous Maze(期望)
- [lightOJ 1027]A Dangerous Maze[期望]
- 【LightOJ 1027】A Dangerous Maze(期望)
- lightoj 1027 A Dangerous Maze 期望,玄学
- 【概率DP】 LightOJ 1027 A Dangerous Maze
- LightOj 1027 A Dangerous Maze【概率】
- LightOJ - 1027 A Dangerous Maze 概率
- lightoj 1027 A Dangerous Maze (概率)
- A Dangerous Maze ( 期望 )
- class小结
- Python导入模块的几种姿势(常规导入, 相对导入, 可选导入, 本地导入)
- Python Imaging Library: ImageColor Module(图像颜色模块)
- 洪水攻击原理
- 关于动态导出Excel
- 【概率&数学期望】A Dangerous Maze LightOJ
- 46. Permutations
- Qt + OpenGL + 离屏渲染
- 2017/10/26学习心得
- Python编程:从入门到实践的动手试一试答案(第二章)
- 经典题目-如何测试一个一次性纸杯
- MarkDown标记语言入门
- PAT1009 说反话
- LinuxC编程预习