G - 飞花的传送门


飞花壕最近手头比较宽裕,所以想买两个传送门来代步(夏天太热,实在是懒得走路)。平面上有N个传送门,飞花壕想要挑两个距离最远的传送门带回家(距离为欧几里得距离,即两点之间直线距离)。

请你帮他算一算他所挑选的最远的两个传送门有多远。

Input

多组输入。

对于每组输入,第一行输入一个整数N(2 <= N<= 50000),接下来从第2行到第N+1行,每行两个整数(Xi,Yi),代表第i个传送门的坐标(-1000000 <= X, Y<= 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 飞花的传送门相关推荐

  1. 记第七届ACM校赛-回忆

    这一次校赛其实是两个月半之前的事情了---4月29日.那天比赛完之后,自己就想当天写写这一次比赛的事,但是由于那天比赛完之后又马上又赶回家,5个小时的比赛加上2个小时的车程,整个人都觉得很累,所以那天 ...

  2. 2016山东省第七届ACM省赛总结

    好久都没更过了 前段时间真是心态不好 状态也不好 都不打算练了 自己堕落了一阵子 醒悟了 感觉还是应该干些正事 加上去北京旅游(lanqiao)待了几天 心情也好多了 啊 自己太水 还要接着干. 好 ...

  3. 2016第七届ACM山东省赛

     "题目说的是输出编号.输出编号!!" "好,改好了." "交." 最后两分钟再一次提交了代码. no  -  wrong. 奋战到最后一秒 ...

  4. 广工大第12届ACM校赛A

    水题,简单的解方程问题,所有的尾巴都正常,总只数即c/4 , 设正常的有X只,没耳朵的有y只,没尾巴的即(c/4-x-y)只. code #include<stdio.h> int mai ...

  5. UESTC第七届ACM趣味程序设计竞赛第四场(正式赛)

    Memory Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  S ...

  6. 一个彻彻底底的水军的ACM校赛感悟~~~

    2017年4月23日刚刚结束了ACM校赛.作为一名不是ACM队的水军来说,抱着必突突突的决心,参加了这次的比赛.经过五个小时的激烈角逐,我们队伍还参加了一场和我们没有什么关系的颁奖典礼. 我是一个编程 ...

  7. 科林明伦杯哈尔滨理工大学第六届程序设计团队赛(12.10)

    "科林明伦杯"哈尔滨理工大学第六届程序设计团队赛 水题已去除.. B题  Time 原题链接:http://acm.hrbust.edu.cn/index.php?m=Proble ...

  8. 第18届浙江大学校赛 Mergeable Stack

    The 18th Zhejiang University Programming Contest Sponsored by TuSimple 第18届浙江大学校赛的c题 解析:起先是用stack写的模 ...

  9. 2014湖南农业大学ACM校赛

    湖南农业大学 2014年 ACM 校赛Problem 2014 /2/23  星期日  12:30-17:30 A.搜素      1794.查找指定的字符串      B.链表      1795 ...

最新文章

  1. 回溯法排序树怎么画_kd tree(k-dimensional树的简称)
  2. 近期活动盘点:清华严飞大数据探寻中国文脉讲座、2019前沿信息科技创新论坛...
  3. golang beego框架对运行异常的处理
  4. jQuery 选择器汇总-思维导图-选择器
  5. 超出网络bios会话限制_如何设置网络以防止数据丢失
  6. Solr+Hbase多条件查(优劣互补)
  7. 使用 jQuery Mobile 与 HTML5 开发 Web App (五) —— jQuery Mobile 表单下
  8. Java算法之寻找旋转数组中的最小值
  9. vue将经纬度转换成地理名称_新武汉北,红安有了一个新的地理名称,恒大项目将对标上海迪士尼...
  10. Mac下新安装的MySQL无法登陆root用户解决方法
  11. kafka的topic操作入门
  12. Linux文件内容操作(六) 格式化文本 fmt
  13. 数据库常用的事务隔离级别都有哪些?都是什么原理?
  14. 2018年深圳杯论文_2018.5.21/建模日记/深圳杯
  15. 苹果7p大音频脚位图_苹果7P无声音与杂音维修案例
  16. 阿里CEO张勇:打破各企业边界 联手对抗黑灰产
  17. 瘸子偷了乞丐的包,瞎子看见了,哑巴大声叫,罗锅挺身去追,疯子说我们要冷静,弓虽强怎奈石更硬。
  18. 记一次重大的生产事故
  19. WPF解决方案和项目结构
  20. 服务器系统盘40g是什么,云服务器 40g系统盘

热门文章

  1. mysql触发器区分新增 修改_MySQL触发器 , 判断更新操作前后数据是否改变
  2. oracle块空间的使用,Oracle管理存储架构(二)--Oracle管理数据块空间
  3. 虚拟机游戏获取服务器地址,vue获取服务器地址
  4. C语言游戏传递小秘密,C语言的那些小秘密之链表
  5. unity 半透明混合问题_Unity 实时 半透明 阴影 shader
  6. cass展点不在原位置,cass中打开一副图后,通过绘图处理-——展高程点,怎么之前的图形就不显示了,,只剩下高程点!!...
  7. anaconda如何卸载库_小白必看!Anaconda安装全攻略
  8. 对于enable_shared_from_this、shared_from_this使用笔记
  9. 《MySQL——主备一致性六问六答》
  10. 图像分割——基于二维灰度直方图的阈值处理