题目来源:

http://acm.bnu.edu.cn/bnuoj/problem_show.php?pid=34986

题意:

一个人在玩桌面足球,有m行球员,每行球员有ai个,给出每个球员的宽度和相邻球员之间的距离,球从最左边射出,给出球的起点坐标跟方向向量,问能够到达最右边的概率。

思路:球员的相对位置固定,球员可以移动一定的距离。计算球经过球员的概率, 用1 - 球经过球员的概率 即为 可以穿过的概率。 枚举一遍所有行。

代码如下:

const int Max_N = 105 ;
double w[Max_N] , tail[Max_N] , pos[Max_N] ;
int main(){int T ;scanf("%d" , &T) ;double  W, l , X, Y , dx ,dy , dis , row , tot , y , ans ;int m  , num , i , k = 1;while(T--){ans = 1.0 ;scanf("%lf%lf" , &l , &W) ;scanf("%lf%lf%lf%lf" , &X, &Y , &dx , &dy) ;scanf("%d" , &m) ;while(m --){tot = 0.0 ;pos[0] = 0.0 ;scanf("%lf%d" , &row , &num) ;y = Y + dy * (row - X) / dx ;for(i = 0 ; i < num ; i++){scanf("%lf" , &w[i]) ;tot += w[i] ;}tail[0] = w[0] ;for(i = 1 ; i < num ; i++){scanf("%lf", &dis) ;pos[i] = pos[i - 1] + w[i - 1] + dis ;tail[i] = pos[i] + w[i] ;tot += dis ;}double cnt = 0.0  , len = 0.0 ;double mov = W - tot ;for(i = 0 ; i < num ; i++){ // 枚举cnt = 0.0  ;if(pos[i] <= y && (tail[i] + mov >= y) ){if(tail[i] >= y)cnt = (pos[i] + mov <= y) ? mov : (y - pos[i]) ;elsecnt = (pos[i] + mov >= y) ? w[i] : (tail[i] - y + mov) ;}len += cnt ;}if( mov == 0 ){ans = 0 ;break ;}else  ans = ans * (mov - len) / mov  ;}printf("Case #%d: %.5lf\n" ,k++ , ans) ;}
}

转载于:https://www.cnblogs.com/zn505119020/p/3746968.html

2014北京邀请赛 F Football on Table相关推荐

  1. 2014 北京邀请赛ABDHJ题解

    A. A Matrix 点击打开链接 构造,结论是从第一行開始往下产生一条曲线,使得这条区间最长且从上到下递减, #include <cstdio> #include <cstrin ...

  2. 2014 北京邀请赛 B

    runtime error好多次,应该是没有用long long,数据不多,暴力就可以解决,选定两个点,长度定为两点的距离或其整数分割,需要注意的就是有相同坐标的树 题目 #include<io ...

  3. 2014北京三险一金缴存比例

    2019独角兽企业重金招聘Python工程师标准>>> 2014北京三险一金缴存比例 名称 个人比例 公司比例 养老保险 8% 20% 医疗保险 2%+3 10% 失业保险 0.2% ...

  4. bnu 34986 Football on Table(数学+暴力)

    题目连接:bnu 34986 Football on Table 题目大意:给出桌子的大小L,W,然后是球的起始位置sx,sy,以及移动的向量dx,dy.然后给出n.表示有n个杆,对于每一个杆.先给出 ...

  5. 2014北京国际广告展“新赏析”

    近日,第二十一届国际广告新媒体.新技术.新设备.新材料展示交易会(简称"北京国际广告'四新'展")暨2014北京国际LED显示技术及LED城市景观照明展览会在北京中国国际展览中心( ...

  6. 2014 北京、西安邀请赛

    今年有幸能打两场邀请赛,真的是很幸运...但是打出来的效果就...本来都没脸写总结了的,后来想了想还是写了吧,不然这两场又白打了. 由于两场比赛相隔只有一周,所以我们就给自己放了10+天的假,玩是玩爽 ...

  7. 我的2014——北京梦的起点和终点

    今天是2014年的最后一天,很想回顾一下这一年来经历的事情和变化,但是却又不知道该写些什么,打开以前的文章开始回想起自己今年所经历的一些事,经历就是一种成长,无论我们是在挫折中度过一年,还是在阳光下顺 ...

  8. 2014ACM亚洲区域北京邀请赛总结

    16号早上10点,作为一个28k的屌丝,穿着一双人字拖,乘着北京那一不小心说不定就能给挤怀孕的地铁,和小伙伴们一起来到了北师大.算是第三次来北师大了,前两次是北师大校赛和弱校联合集训,不过看到它们的建 ...

  9. ACM-ICPC2014北京邀请赛感受

    路漫漫其修远兮,吾将上下而求索. 5月16日来到北京 起初的新鲜感不再那么强烈,即使是帝都,也有管理不善的地方,空气也确实不太好. 晚上和whatever一起刷百度之星,互相不习惯各自的代码风格,还为 ...

  10. hdu 5120(求两个圆环相交的面积 2014北京现场赛 I题)

    两个圆环的内外径相同 给出内外径 和 两个圆心 求两个圆环相交的面积 画下图可以知道 就是两个大圆交-2*小圆与大圆交+2小圆交 Sample Input 2 2 3 0 0 0 0 2 3 0 0 ...

最新文章

  1. Aduna ClusterMap 的说明
  2. 提升效率的JQUERY(转)
  3. Amazon S3数据存储
  4. STM32PB2(BOOT1)使用注意
  5. boost::geometry::make用法的测试程序
  6. 事务与分布式事务原理与实现
  7. iOS高级-QuartzCore框架-背景平铺
  8. MySQL中NOT IN语句对NULL值的处理
  9. 【算法07】求子数组的最大和
  10. 58技术主席孙玄:硬核揭秘万亿级微服务分布式事务实战!
  11. python设计程序界面_python图形界面(GUI)设计
  12. Fluent:如何用Custom Field Function Calculater替代UDMI提高收敛性
  13. 程序员用实力把公司干倒闭了
  14. C#远程时间同步助手软件设计
  15. 调频广播信号覆盖质量智能监测系统
  16. MBTI职业性格测试小程序
  17. PCB板上的字母代表哪些元器件?一文看全!
  18. Linux之美—windows server基础(在windows上安装server机)
  19. 用opencv简单绘图
  20. Metal每日分享,图像阀值素描滤镜效果

热门文章

  1. 使用MITab操作MapInfo地图文件
  2. Fuse Audio Labs VCS-1 Mac - 零延迟通道效果插件
  3. Togu Audio Line推出最新版本的TAL-BassLine-101插件 支持M1芯片
  4. Mac电脑上java如何手动释放内存?
  5. Camtasia实用技巧之行为效果
  6. 高性能的服务器的架设
  7. 《机器学习与数据科学(基于R的统计学习方法)》——2.15 小结
  8. pxe结合kickstart文件实现全自动化安装
  9. ruby设计模式之观察者模式2————更加一般化的观察者模式
  10. 关于ISA WPAD的深入探讨