UVA - 12230 Crossing Rivers
来源:互联网 发布:云购源码 编辑:程序博客网 时间:2024/06/06 00:35
题目链接 http://acm.hust.edu.cn/vjudge/problem/39016
题目大意:有个人每天要去公司上班,
每次会经过n条河,家和公司的距离为len,
人在陆地的速度为1,给出N条河的信息,
包括起始位置,宽度,以及船的速度。船会往返在河的两岸,
人到达河岸是,船的位置是随机的(包括方向)。
问说人达到公司所需要的期望时间。
陆地上的时间是固定的,只需要分别计算过每条河的时间即可。
单纯算过河时间的话,最快的是l/v,最慢的可能是3l/v,
期间的时间是线性的,所以过河期望时间就是4l/2v=2l/v
相对于我的代码 网上写的太强了
网上的
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>using namespace std;int n;double p, l, v, d;int main() { int cas = 1; while (scanf("%d%lf", &n, &d) != EOF && n+d) { while (n--) { scanf("%lf%lf%lf", &p, &l, &v); d = d - l + l * 2 / v; } printf("Case %d: %.3lf\n\n", cas++, d); } return 0;}我的....
</pre><pre name="code" class="html">#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>#include <queue>#include <vector>#include <cmath>#include <stack>#include <map>#include <set>#define pi acos(-1)#define LL long long#define ULL unsigned long long#define INF 0x3f3f3f3fusing namespace std;typedef pair<int, int> P;const int maxn = 1e5 + 5;struct River{ int sta, to; double t;}river[15];int cmp(River a, River b){ return a.sta < b.sta;}int main(void){//freopen("C:\\Users\\wave\\Desktop\\NULL.exe\\NULL\\in.txt","r", stdin); int n, len, i, v, l, cur, cas = 1; double ans; while (cin >> n >> len && (n || len)) { for (i = 1; i <= n; i++){ scanf("%d %d %d", &river[i].sta, &l, &v); river[i].to = river[i].sta + l; river[i].t = (2*l*1.0) / (1.0*v); } sort(river+1, river+1+n, cmp); cur = 0; ans = 0; for (i = 1; i <= n; i++){ if (river[i].sta > cur) ans += (river[i].sta - cur) * 1.0; cur = river[i].to; ans += river[i].t; } if (cur < len) ans += (len - cur) * 1.0; printf("Case %d: %.3f\n\n", cas++, ans); } return 0;}
0 0
- UVA - 12230 Crossing Rivers
- UVA 12230 - Crossing Rivers(概率)
- uva 12230 - Crossing Rivers(概率)
- UVA 12230(p333)----Crossing Rivers
- UVA.12230 Crossing Rivers (期望)
- uva 12230 - Crossing Rivers(求数学期望)
- UVA - 12230 Crossing Rivers (期望)
- 12230 - Crossing Rivers
- uva Crossing Rivers 简单期望
- Crossing Rivers
- hdu 3232 Crossing Rivers
- UVALive 4485 Crossing Rivers
- UVA12230 - Crossing Rivers
- HDU 3232 Crossing Rivers
- hdu3232 Crossing Rivers
- hdu 3232 Crossing Rivers
- HDU 3232 Crossing Rivers
- HDU 3232 Crossing Rivers
- 开发时 团队出现的严重问题 放在这儿警戒
- 第八天 有向路径检查
- AsyncTask的用法
- 设计模式六大原则: 狸猫换太子 -- 里氏替换原则
- 基础UI组件-spinner
- UVA - 12230 Crossing Rivers
- 死亡历险,Java做的安卓调用.net Webservice进行修改密码
- 面试机器学习、大数据岗位时遇到的各种问题
- C++实现二位数组加减法
- Leetcode no. 96
- 1052: 最大报销额
- greenplum创建外部表笔记-readable篇
- C# Async与Await的使用
- 数学概念的理解