Angle and Squares UVA
来源:互联网 发布:dev.mysql.com 编辑:程序博客网 时间:2024/05/17 07:20
几何分析的一道题目,如果在这个角度内部放置的正方形能够达到对角线在同一条直线上,那么就可以保证得到的阴影部分的面积最大,以此求出正方形和两条直线的两个交点(这两个交点的横坐标的之差以及纵坐标之差均为正方形的边长之和,同时也直到这两个点所在的直线的方程,那么就可以解出两个交点的坐标)。所以阴影部分的面积也就是两个交点和原点所围成的三角形的面积减去正方形面积之和的一半(可以画图得到),具体实现见如下代码:
#include<iostream>#include<vector>#include<string>#include<set>#include<stack>#include<queue>#include<map>#include<algorithm>#include<cmath>#include<iomanip>#include<cstring>#include<sstream>#include<cstdio>#include<deque>#include<functional>using namespace std;int main(){int N;double xa, ya, ka;double xb, yb, kb;while (cin >> N){if (N == 0) break;cin >> xa >> ya >> xb >> yb;double L = 0;double area = 0;for (int i = 0; i < N; i++){double t;cin >> t;L += t;area += (t*t) / 2.0;}ka = ya / xa, kb = yb / xb;if (ka < kb){swap(xa, xb), swap(ya, yb), swap(ka, kb);}double x1 = (kb + 1)*L / (ka - kb);double x2 = (ka + 1)*L / (ka - kb);double y1 = ka*x1;double y2 = kb*x2;double total = (x2*y1 - x1*y2)/2;cout << fixed << setprecision(3) << (total - area) << endl;}return 0;}
阅读全文
0 0
- Angle and Squares UVA
- UVa 1643 - Angle and Squares(叉乘求面积)
- UVa1643 - Angle and Squares(几何)
- 习题10-3 UVA 1643 Angle and Squares 角度和正方形
- UVA 1643(p343)----Angles and Squares
- UVA 1453 Squares
- uva 256 - Quirksome Squares
- UVA 1453 - Squares
- UVa:11407 Squares
- UVa 256 - Quirksome Squares
- UVA-201Squares
- UVa 201 - Squares
- UVa 201 - Squares
- UVA 12113 - Overlapping Squares
- UVa 201 - Squares
- UVA-201 Squares
- UVA - 201 Squares
- Uva 201 Squares
- Gyroscope Larnging 001: Angle Momentum & Rotational Inertia
- Linux指令笔记
- 做好这几点思维上的转变,就能做好项目管理
- 51Nod 1091 线段的重叠 贪心
- windchill 11使用rehostUtility 3.0 进行环境克隆
- Angle and Squares UVA
- B
- 基于Unity3D的移动端摇一摇功能的实现
- 创建maven Web项目
- HTTP消息
- JAVA命名规范
- 第五章练习
- JSTL常用部分
- java web文件的上传