uva 11722 通过面积比算概率
来源:互联网 发布:神奇百货ceo骗局 知乎 编辑:程序博客网 时间:2024/04/29 19:34
#include <cstdio>double a, b, c, d, width, height, w;int T, kase;double get_area(double w){double ly = a + w, ry = b + w;double tx = d - w, bx = c - w;bool on_left = c <= ly && ly <= d;bool on_right = c <= ry && ry <= d;bool on_top = a <= tx && tx <= b;bool on_bottom = a <= bx && bx <= b;if (on_left && on_right) return (d - ly + d - ry) * width * 0.5;if (on_left && on_top) return (d - ly) * (tx - a) * 0.5;if (on_top && on_bottom) return (bx - a + tx - a) * height * 0.5;if (on_right && on_bottom) return height * width - (b - bx) * (ry - c) * 0.5;return ly <= c ? width * height : 0;}int main(int argc, char const *argv[]){scanf("%d", &T);while (T--){scanf("%lf%lf%lf%lf%lf", &a, &b, &c, &d, &w);width = b - a; height = d - c;printf("Case #%d: %.6lf\n", ++kase, (get_area(-w) - get_area(w)) / width / height);}return 0;}
坐标(t1,s1),(t2,s2)作边平行于坐标轴的矩阵,再作直线y=x+w和y=x-w,它们之间与矩阵相覆盖的阴影面积占矩阵总面积比就是答案
过4个矩阵顶点作平行于y=x的直线,共分5个区域。分别根据w讨论y=x+w和y=x-w在哪个区域内,再计算非阴影面积,之后总面积减非阴影面积再除以总面积就可得到答案
0 0
- uva 11722 通过面积比算概率
- UVA 11722 Joining with Friend 图形面积+概率
- UVA 11722 概率几何
- 概率是一种面积
- UVA 11722 - Joining with Friend(概率)
- uva 11722 - Joining with Friend(概率)
- UVA - 11722 Joining with Friend (概率)
- UVA 11722 Joining with Friend【概率】
- 概率(和朋友会面,UVA 11722)
- uva 11181(条件概率)
- uva 11427 数学-概率
- UVA 11346 - Probability(概率)
- uva 11021 - Tribles(概率)
- uva 10288 - Coupons(概率)
- uva 11346 - Probability(概率)
- UVa 557 - Burger (概率)
- UVA 1636 Headshot 概率
- uva 11021 Tribles 【概率】
- MyBatis在insert插入操作时返回主键ID的配置
- ios safe array simple implement
- C语言学习记录(四):指针和数组(上)
- c语言入门之项目2.5——求1到m的倒数的和
- java动态代理--一个简单的例子
- uva 11722 通过面积比算概率
- Sublime Text非官方文档(编辑)
- 给java初学者的建议
- 算法竞赛入门经典(第二版)-刘汝佳-第五章 C++与STL 例题(9/12)
- 机器学习题目汇总三
- poj 1860 Currency Exchange(最长路)
- C#对List同时遍历删除操作
- uva 10670 The jackpot
- android5.0之往toolbar上添加按钮