Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) C. Constellation(思维 简单几何)
来源:互联网 发布:java随机数生成器 编辑:程序博客网 时间:2024/05/18 06:19
题意:给你n个点(n<=1e5),保证所有点不在同一直线上,让你找三个点,形成一个三角形,且该三角形内没有点。
思路:先按x轴排序,x相同按y排序。因为保证所有点不在同一直线上,这样前两个必定可以和后面某个点构成三角形,且从第三个开始找第一个能形成三角形的内部一定没有其他点,因为如果有其他点,那这个内部点同样可以与前两个点形成三角形,且在这个点前面。
代码:
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+5;struct node{ ll x, y; int id; bool operator < (const node &a) const { if(x == a.x) return y < a.y; return x < a.x; }}a[maxn];bool judge(node aa, node bb, node cc){ return (cc.y-bb.y)*(bb.x-aa.x)!=(bb.y-aa.y)*(cc.x-bb.x);}int main(void){ int n; while(cin >> n) { for(int i = 1; i <= n; i++) scanf("%d%d", &a[i].x, &a[i].y), a[i].id = i; sort(a+1, a+1+n); for(int i = 3; i <= n; i++) if(judge(a[1], a[2], a[i])) { printf("%d %d %d\n", a[1].id, a[2].id, a[i].id); break; } } return 0;}
阅读全文
0 0
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) C. Constellation(思维 简单几何)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) 618C Constellation(计算几何+stl)
- Codeforces - Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)C - Constellation(数学练习)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-C. Constellation(贪心+向量平行判断)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-C. Constellation(贪心+向量平行判断)
- Codeforces Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) C. Constellation
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)--C. Constellation
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) C. Constellation
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(C)几何
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) CF618C Constellation
- CF# Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) C计算几何 + D 图论
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(A、B、C、D)题解
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) 总结
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) G
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(A)(模拟||规律)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)(B)(构造,找规律)
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined)-B. Guess the Permutation(模拟)
- 如何将dwg转换为kml
- Python_uwsgi_restart
- selenium使用POI导入导出excel
- 深圳中科爱讯科技有限公司
- iOS开发之ReactiveCocoa框架(RAC)第四篇构建一个信号量
- Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) C. Constellation(思维 简单几何)
- You can't specify target table 'item' for update in FROM clause
- 常用设计模式之抽象工厂模式
- MySQL 5.7 主从配置
- bat批处理之批量安装卸载apk
- Activity中重载的dispatchTouchEvent 和 onTouchEvent不被调用
- linux双网卡绑定
- 浅谈react和Vue传值问题
- matlab入门教程九 ----- 数据输入与处理