bnu 34986 Football on Table(数学+暴力)
pid=34986" target="_blank" style="">题目连接:bnu 34986 Football on Table
题目大意:给出桌子的大小L,W,然后是球的起始位置sx,sy,以及移动的向量dx,dy。然后给出n。表示有n个杆,对于每一个杆。先给出位置x,以及杆上有多少个小人c,给出小人的宽度。再给出c个小人间的距离。如今问说球有多少个概率能够串过全部人。
解题思路。对于每一个杆求无阻挡的概率。注意概率 = 空隙 / 可移动的范围大小,而不是W。其它就水水的。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
const double eps = 1e-8;
const int N = 205;
double L, W;
double sx, sy, dx, dy;
double d[N];
double solve () {
int n, c;
double w, ans = 1;
scanf("%d", &n);
while (n--) {
scanf("%lf%d", &w, &c);
double r = sy + w * dy / dx;
double s = 0;
c = 2 * c - 1;
for (int i = 0; i < c; i += 2)
scanf("%lf", &d[i]);
for (int i = 1; i < c; i += 2)
scanf("%lf", &d[i]);
for (int i = 0; i < c; i++)
s += d[i];
double l = W - r;
double rec = 0;
if (l > s) {
rec += (l - s);
l = 0;
} else {
l = s - l;
}
if (r > s) {
rec += (r - s);
r = s;
}
s = 0;
for (int i = 0; i < c; i++) {
double tmp = s + d[i];
if (i&1) {
double add = min(r, tmp) - max(s, l);
rec += max(add, (double)0);
}
s = tmp;
}
ans *= rec / (W-s);
}
return ans;
}
int main () {
int cas;
scanf("%d", &cas);
for (int i = 1; i <= cas; i++) {
scanf("%lf%lf", &L, &W);
scanf("%lf%lf%lf%lf", &sx, &sy, &dx, &dy);
printf("Case #%d: %.5lf\n", i, solve());
}
return 0;
}
版权声明:本文博主原创文章。博客,未经同意,不得转载。
bnu 34986 Football on Table(数学+暴力)的更多相关文章
- BNU 34986 Football on Table
"Bored? Let's play table football!" The table football is played on a rectangular table, u ...
- HDU 2058 The sum problem (数学+暴力)
题意:给定一个N和M,N表示从1到N的连续序列,让你求在1到N这个序列中连续子序列的和为M的子序列区间. 析:很明显最直接的方法就是暴力,可是不幸的是,由于N,M太大了,肯定会TLE的.所以我们就想能 ...
- EOJ Monthly 2019.1 唐纳德先生与这真的是签到题吗 【数学+暴力+multiset】
传送门:https://acm.ecnu.edu.cn/contest/126/ C. 唐纳德先生与这真的是签到题吗 单测试点时限: 6.0 秒 内存限制: 1024 MB 唐纳德先生在出月赛的过程中 ...
- AIM Tech Round (Div. 1) D. Birthday 数学 暴力
D. Birthday 题目连接: http://www.codeforces.com/contest/623/problem/D Description A MIPT student named M ...
- [CF1244C] The Football Season【数学,思维题,枚举】
Online Judge:Luogu,Codeforces Round #592 (Div. 2) C Label:数学,思维题, 枚举 题目描述 某球队一共打了\(n\)场比赛,总得分为\(p\), ...
- UVA 12898 And Or 数学暴力
And Or Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.actio ...
- interesting Integers(数学暴力||数论扩展欧几里得)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwwAAAHwCAIAAACE0n9nAAAgAElEQVR4nOydfUBT1f/Hbw9202m0r8
- Codeforces Round #376 (Div. 2) F. Video Cards 数学 & 暴力
http://codeforces.com/contest/731/problem/F 注意到一个事实,如果你要找一段区间中(从小到大的),有多少个数是能整除左端点L的,就是[L, R]这样.那么,很 ...
- sort+结构体+简单数学+暴力-例题
A-前m大的数 还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大 ...
随机推荐
- gif动图快速制作方法(附工具)(转)
现在写博客或是wiki的过程中,会经常引用到图片,特别是客户端经常与页面相关所以截图不可避.但是越来越多的效果仅仅一张图片是无法清楚的描述.并且博客或是wiki也是支持gif图的.gif图的制作方法有 ...
- 表的顺序结构---重写Arraylist类
重写ArrayList类,为防止冲突,重写为MyArrayList,未继承Iterable类. public class MyArrayList<AnyType>{ int N=10; A ...
- 相关Jquery Validator采用
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs& ...
- 图表引擎AChartEngine 一
MainActivity.java package com.example.achartengine0; import org.achartengine.ChartFactory; import or ...
- GotoTest
循环标签跳出循环 public class GotoTest { public static void main(String[] args) { int[][] array={ {1,20,3}, ...
- ArcMap合并之路 -- 该段路合并成一个完整的路
#1: 用 Arctoolbox\Data Management Tools\Generalization\dissolve 工具 #2: Options:dissolve field 项选" ...
- 图片切割工具---产生多个div切割图片 采用for和一的二维阵列设置背景位置
照片库 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb21vZ2c=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- XML数组和对象,反之亦然
惊人的互相转换,还是因为麻烦.程序很反感麻烦猿 1 阵转xml <?php /* 一维数组转xml 思路: 循环数组每一个单元,添加到xml文档节点中去 */ /* $arr = array( ...
- Html 5 坦克大战(韩顺平县版本号)
html 5例如,下面的代码段: <!DOCTYPE html> <html> <head> <meta charset="utf-8"/ ...
- ssis t-sql返回值
原文:ssis t-sql返回值 sql类似如下,不需要使用return 语句,SQL语句的ConnectionType必须是"ADO.NET" select @proID=fie ...