山东理工大学第七届ACM校赛-G 飞花的传送门
飞花壕最近手头比较宽裕,所以想买两个传送门来代步(夏天太热,实在是懒得走路)。平面上有N个传送门,飞花壕想要挑两个距离最远的传送门带回家(距离为欧几里得距离,即两点之间直线距离)。
请你帮他算一算他所挑选的最远的两个传送门有多远。
Input
多组输入。
对于每组输入,第一行输入一个整数N(2 <= N<= 50000),接下来从第2行到第N+1行,每行两个整数(Xi,Yi),代表第i个传送门的坐标(-1000000 <= Xi , Yi <= 1000000)。
数据为随机生成。
Output
输出一个整数,代表飞花壕要挑选的两个传送门的距离的平方。
Sample Input
4 0 0 0 1 1 1 1 0
Sample Output
2
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<stack> 6 #include <math.h> 7 #include <stdio.h> 8 #include <algorithm> 9 using namespace std; 10 struct point 11 { 12 long long x; 13 long long y; 14 } P[50005],S[50005]; 15 16 long long xx; 17 long long yy; 18 19 bool cmp(struct point a,struct point b) 20 { 21 if(atan2(a.y-yy,a.x-xx)!=atan2(b.y-yy,b.x-xx)) 22 return (atan2(a.y-yy,a.x-xx))<(atan2(b.y-yy,b.x-xx)); 23 return a.x<b.x; 24 } 25 26 long long CJ(long long x1,long long y1,long long x2,long long y2) 27 { 28 return (x1*y2-x2*y1); 29 } 30 31 long long Compare(struct point a,struct point b,struct point c) 32 { 33 return CJ((b.x-a.x),(b.y-a.y),(c.x-a.x),(c.y-a.y)); 34 } 35 36 long long Dis(struct point a,struct point b) 37 { 38 return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); 39 } 40 41 int main() 42 { 43 int n,i,j; 44 while(~scanf("%d",&n)) 45 { 46 int top = 1; 47 yy = 1000000+5; 48 for(i=0;i<n;i++) 49 { 50 scanf("%lld%lld",&P[i].x,&P[i].y); 51 if(P[i].y<yy) 52 { 53 yy = P[i].y; 54 xx = P[i].x; 55 j = i; 56 } 57 } 58 P[j] = P[0]; 59 sort(P+1,P+n,cmp); 60 S[0].x = xx; 61 S[0].y = yy; 62 S[1] = P[1]; 63 for(i = 2;i<n;) 64 { 65 if(top&&(Compare(S[top-1],S[top],P[i])<0)) top--; 66 else S[++top] = P[i++]; 67 } 68 long long max1 = -1; 69 for(i = 0;i<=top;i++) 70 for( j = i+1;j<=top;j++) 71 if(Dis(S[i],S[j])>max1) 72 max1 = Dis(S[i],S[j]); 73 printf("%lld\n",max1); 74 } 75 return 0; 76 }
转载于:https://www.cnblogs.com/LGJC1314/p/6843638.html
山东理工大学第七届ACM校赛-G 飞花的传送门相关推荐
- 记第七届ACM校赛-回忆
这一次校赛其实是两个月半之前的事情了---4月29日.那天比赛完之后,自己就想当天写写这一次比赛的事,但是由于那天比赛完之后又马上又赶回家,5个小时的比赛加上2个小时的车程,整个人都觉得很累,所以那天 ...
- 2016山东省第七届ACM省赛总结
好久都没更过了 前段时间真是心态不好 状态也不好 都不打算练了 自己堕落了一阵子 醒悟了 感觉还是应该干些正事 加上去北京旅游(lanqiao)待了几天 心情也好多了 啊 自己太水 还要接着干. 好 ...
- 2016第七届ACM山东省赛
"题目说的是输出编号.输出编号!!" "好,改好了." "交." 最后两分钟再一次提交了代码. no - wrong. 奋战到最后一秒 ...
- 广工大第12届ACM校赛A
水题,简单的解方程问题,所有的尾巴都正常,总只数即c/4 , 设正常的有X只,没耳朵的有y只,没尾巴的即(c/4-x-y)只. code #include<stdio.h> int mai ...
- UESTC第七届ACM趣味程序设计竞赛第四场(正式赛)
Memory Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit S ...
- 一个彻彻底底的水军的ACM校赛感悟~~~
2017年4月23日刚刚结束了ACM校赛.作为一名不是ACM队的水军来说,抱着必突突突的决心,参加了这次的比赛.经过五个小时的激烈角逐,我们队伍还参加了一场和我们没有什么关系的颁奖典礼. 我是一个编程 ...
- 科林明伦杯哈尔滨理工大学第六届程序设计团队赛(12.10)
"科林明伦杯"哈尔滨理工大学第六届程序设计团队赛 水题已去除.. B题 Time 原题链接:http://acm.hrbust.edu.cn/index.php?m=Proble ...
- 第18届浙江大学校赛 Mergeable Stack
The 18th Zhejiang University Programming Contest Sponsored by TuSimple 第18届浙江大学校赛的c题 解析:起先是用stack写的模 ...
- 2014湖南农业大学ACM校赛
湖南农业大学 2014年 ACM 校赛Problem 2014 /2/23 星期日 12:30-17:30 A.搜素 1794.查找指定的字符串 B.链表 1795 ...
最新文章
- 回溯法排序树怎么画_kd tree(k-dimensional树的简称)
- 近期活动盘点:清华严飞大数据探寻中国文脉讲座、2019前沿信息科技创新论坛...
- golang beego框架对运行异常的处理
- jQuery 选择器汇总-思维导图-选择器
- 超出网络bios会话限制_如何设置网络以防止数据丢失
- Solr+Hbase多条件查(优劣互补)
- 使用 jQuery Mobile 与 HTML5 开发 Web App (五) —— jQuery Mobile 表单下
- Java算法之寻找旋转数组中的最小值
- vue将经纬度转换成地理名称_新武汉北,红安有了一个新的地理名称,恒大项目将对标上海迪士尼...
- Mac下新安装的MySQL无法登陆root用户解决方法
- kafka的topic操作入门
- Linux文件内容操作(六) 格式化文本 fmt
- 数据库常用的事务隔离级别都有哪些?都是什么原理?
- 2018年深圳杯论文_2018.5.21/建模日记/深圳杯
- 苹果7p大音频脚位图_苹果7P无声音与杂音维修案例
- 阿里CEO张勇:打破各企业边界 联手对抗黑灰产
- 瘸子偷了乞丐的包,瞎子看见了,哑巴大声叫,罗锅挺身去追,疯子说我们要冷静,弓虽强怎奈石更硬。
- 记一次重大的生产事故
- WPF解决方案和项目结构
- 服务器系统盘40g是什么,云服务器 40g系统盘
热门文章
- mysql触发器区分新增 修改_MySQL触发器 , 判断更新操作前后数据是否改变
- oracle块空间的使用,Oracle管理存储架构(二)--Oracle管理数据块空间
- 虚拟机游戏获取服务器地址,vue获取服务器地址
- C语言游戏传递小秘密,C语言的那些小秘密之链表
- unity 半透明混合问题_Unity 实时 半透明 阴影 shader
- cass展点不在原位置,cass中打开一副图后,通过绘图处理-——展高程点,怎么之前的图形就不显示了,,只剩下高程点!!...
- anaconda如何卸载库_小白必看!Anaconda安装全攻略
- 对于enable_shared_from_this、shared_from_this使用笔记
- 《MySQL——主备一致性六问六答》
- 图像分割——基于二维灰度直方图的阈值处理