山东理工大学第七届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
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<stack>
#include <math.h>
#include <stdio.h>
#include <algorithm>
using namespace std;
struct point
{
long long x;
long long y;
} P[],S[]; long long xx;
long long yy; bool cmp(struct point a,struct point b)
{
if(atan2(a.y-yy,a.x-xx)!=atan2(b.y-yy,b.x-xx))
return (atan2(a.y-yy,a.x-xx))<(atan2(b.y-yy,b.x-xx));
return a.x<b.x;
} long long CJ(long long x1,long long y1,long long x2,long long y2)
{
return (x1*y2-x2*y1);
} long long Compare(struct point a,struct point b,struct point c)
{
return CJ((b.x-a.x),(b.y-a.y),(c.x-a.x),(c.y-a.y));
} long long Dis(struct point a,struct point b)
{
return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
} int main()
{
int n,i,j;
while(~scanf("%d",&n))
{
int top = ;
yy = +;
for(i=;i<n;i++)
{
scanf("%lld%lld",&P[i].x,&P[i].y);
if(P[i].y<yy)
{
yy = P[i].y;
xx = P[i].x;
j = i;
}
}
P[j] = P[];
sort(P+,P+n,cmp);
S[].x = xx;
S[].y = yy;
S[] = P[];
for(i = ;i<n;)
{
if(top&&(Compare(S[top-],S[top],P[i])<)) top--;
else S[++top] = P[i++];
}
long long max1 = -;
for(i = ;i<=top;i++)
for( j = i+;j<=top;j++)
if(Dis(S[i],S[j])>max1)
max1 = Dis(S[i],S[j]);
printf("%lld\n",max1);
}
return ;
}
山东理工大学第七届ACM校赛-G 飞花的传送门的更多相关文章
- 山东理工大学第七届ACM校赛-LCM的个数 分类: 比赛 2015-06-26 10:37 18人阅读 评论(0) 收藏
LCM的个数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 对于我们来说求两个数的LCM(最小公倍数)是很容易的事,现在我遇到了 ...
- 山东理工大学第七届ACM校赛-完美素数 分类: 比赛 2015-06-26 10:36 15人阅读 评论(0) 收藏
完美素数 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 我们定义:如果一个数为素数,且这个数中含有7或3,那么我们称这个数为完美 ...
- 山东理工大学第七届ACM校赛-经济节约 分类: 比赛 2015-06-26 10:34 19人阅读 评论(0) 收藏
经济节约 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 由于经济紧张,某国国王决定减少一部分多余的士兵,这些士兵在边界都有各自的 ...
- 山东理工大学第七届ACM校赛-字符的变化 分类: 比赛 2015-06-26 10:32 46人阅读 评论(0) 收藏
字符的变化 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 一个长度为n(1<=n<=1000)的字符串(只包含小写字 ...
- 山东理工大学第七届ACM校赛-飞花的鱼塘 分类: 比赛 2015-06-26 10:30 43人阅读 评论(0) 收藏
飞花的鱼塘 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 一日,飞花壕在稷下湖游玩,忽然,飞花巨有了一个养鱼的想法,于是,他大手 ...
- 山东理工大学第七届ACM校赛-飞花的线代 分类: 比赛 2015-06-26 10:29 10人阅读 评论(0) 收藏
飞花的线代 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 飞花壕的线代一直非常的壕(好),线代考试每次都是全班第一.一次,飞花壕在预习 ...
- 山东理工大学第七届ACM校赛-飞花的糖果 分类: 比赛 2015-06-26 10:27 15人阅读 评论(0) 收藏
飞花的糖果 Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 一日,飞花壕大手一挥,买了N个的两两不相同糖果,他想要拿出M个糖果送给他心仪 ...
- 山东理工大学第七届ACM校赛-最大收益问题 分类: 比赛 2015-06-26 10:25 51人阅读 评论(0) 收藏
最大收益问题 Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 铁牌狗最近迷上了一款游戏,但铁牌狗实在是太笨了,他还是要请求你的帮助. 有 ...
- 山东理工大学第七届ACM校赛-学区房问题 分类: 比赛 2015-06-26 10:23 89人阅读 评论(0) 收藏
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 铁牌狗在学区B有一套面积为S1平方米的房子,现在他为了让后代进化成金牌狗,决定在学区A购 ...
随机推荐
- 2017.10.4 QBXT 模拟赛
题目链接 T1 维护一个单调栈 #include <iostream> #include <cstdio> #define N 500000 #define rep(a,b,c ...
- Linux 的数字权限意义
三个组 每个都有三个权限 r w x每个权限用二进制 0 和 1 标示 1即为有此权限 0 标示无权限 ower group other r w x r w x r w x 每个组 ...
- External Pricing in C4C and ERP
从下图可以看出,C4C的Opportunity,Sales Quote和Sales Order这些business transaction没有自己的pricing engine,使用的是在ERP Pr ...
- [学习总结] python语言学习总结 (三)
函数闭包 定义 延伸了作用域的函数(能访问定义体之外定义的非全局变量 作用 共享变量的时候避免使用了不安全的全局变量 允许将函数与某些数据关联起来,类似于简化版面向对象编程 相同代码每次生成的闭包,其 ...
- cv2.getPerspectiveTransform 透视变换
简介 透视变换(Perspective Transformation)是将成像投影到一个新的视平面(Viewing Plane),也称作投影映射(Projective Mapping).如图1,通过透 ...
- Problem T: 结构体--学生信息排序
Problem T: 结构体--学生信息排序 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2219 Solved: 1305[Submit][Sta ...
- springboot autoconfig
springboot自动配置的核心思想是:springboot通过spring.factories能把main方法所在类路径以外的bean自动加载 springboot starter验证 我在spr ...
- Redis 和缓存技术
Redis 是什么?什么作用?优点和缺点? https://blog.csdn.net/weixin_42295141/article/details/81380633 Redis 的主要功能哨兵+复 ...
- MySQL数据库---索引
索引的作用就是快速找出在一个列上用一特定值的行.如果没有索引,MySQL不得不首先以第一条记录开始并然后读完整个表直到它找出相关的行. 索引的类型: 先写一个建表语句: CREATE TABLE `t ...
- 不使用脚手架的 vue 应用
工作中的项目不止有页面繁多的模块化项目,还会只有一两个页面的类似于填写信息参与活动的活动页.这个时候,就可以回归以前的三剑客模式,在 index.html 里引用 vue.js 进行开发. 关键点: ...