UVa 920 - Sunny Mountains
来源:互联网 发布:ubuntu nginx 配置 编辑:程序博客网 时间:2024/04/29 12:21
题目:有一些山,在一个平面山,给你每个山峰的坐标,太阳从右边照过来,被照到的线段的长度和。
分析:计算几何、贪心。首先,按很坐标排序;然后,每次找到左边第一个比它高的山峰,
求出对应的照射长度,求和即可。
说明:while(scanf("%d",&t))导致TLE,╮(╯▽╰)╭。
#include <algorithm>#include <iostream>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;typedef struct pnode{double x,y;}point;point P[100];bool cmp( point a, point b ){return a.x > b.x;}double dist( point a, point b ){return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));}int main(){int T,N;while ( ~scanf("%d",&T) )while ( T -- ) {scanf("%d",&N);for ( int i = 0 ; i < N ; ++ i )scanf("%lf%lf",&P[i].x,&P[i].y);sort(P, P+N, cmp);double sums = 0.0;int last = 0;for ( int i = 1 ; i < N ; ++ i )if ( P[i].y > P[last].y ) {sums += dist(P[i], P[i-1])*(P[i].y-P[last].y)/(P[i].y-P[i-1].y);last = i;}printf("%.2lf\n",sums);}return 0;}
0 0
- UVA 920 - Sunny Mountains
- UVa 920 - Sunny Mountains
- uva 920 - Sunny Mountains(平移扫描线)
- joj 2045: Mountains
- poj 3277 Mountains
- poj 3227 Mountains
- Sunny谈重构
- Sunny-Ngrok
- 第2集 Mountains(山脉)
- SERC 2013 A: Beautiful Mountains
- 解题报告 之 SOJ1678 Mountains
- 2004/12.29/sunny
- 2005/1.1/sunny
- 2005/1.2/sunny
- 2005/2.22/sunny
- 2005/2.23/sunny
- 2005/3.5/sunny
- 2005/4.3/sunny
- 集合框架Collection的若干知识点--黑马程序员
- ios文件下载实现(包含字符的反转和特定字符查找)
- 基于Accept的IOCP简单模型
- Tomcat7调试运行环境搭建与源代码分析入门
- struts2中使用ajax验证邮箱(用户名)是否被注册
- UVa 920 - Sunny Mountains
- 验证码识别实践3:自己动手C#实现,颜色差异法去除干扰线
- 惠普Indigo加强版软件包
- 黑马程序员-io流输入与输出的若干总结
- cgroup子系统5_cpuset子系统
- COM组件入门(一)
- linux下配置samba服务器
- grunt js
- 2014.8.12 quickcocosv3问题修复