Codeforces 682E 计算几何
来源:互联网 发布:caffe 使用训练好模型 编辑:程序博客网 时间:2024/05/21 21:42
题意:n个点,找出一个三角形,使得包含所有点。
题解:先找出最大三角形的三个点,然后A做关于BC中点对称,B做AC,C做AB。
最大三角形用迭代法,复杂度n2.
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;typedef long long ll;ll n;ll x[5005],y[5005];ll getArea(ll a,ll b,ll c){ return abs((x[b]-x[a])*(y[c]-y[a])-(x[c]-x[a])*(y[b]-y[a]));}int main(){ll i,j,k,s; scanf("%lld%lld",&n,&s); for(i=1;i<=n;i++){scanf("%lld%lld",&x[i],&y[i]);}ll a=1,b=2,c=3;while(1){ll flag=0;for(i=1;i<=n;i++){s=getArea(a,b,c);if(s<getArea(i,b,c))a=i,flag=1;else if(s<getArea(a,i,c))b=i,flag=1;else if(s<getArea(a,b,i))c=i,flag=1;}if(!flag)break;}cout<<(x[a]+x[b]-x[c])<<" "<<(y[a]+y[b]-y[c])<<endl; cout<<(x[a]+x[c]-x[b])<<" "<<(y[a]+y[c]-y[b])<<endl; cout<<(x[b]+x[c]-x[a])<<" "<<(y[b]+y[c]-y[a])<<endl; return 0; }
0 0
- Codeforces 682E 计算几何
- CodeForces 682 E.Alyona and Triangles(计算几何)
- CodeForces-77E(计算几何+笛卡尔定理)
- codeforces 223E 计算几何 图论 网络流思想
- CodeForces 274C|275E|The Last Hole!|计算几何
- Codeforces Round #357 (Div. 2) E 计算几何
- codeforces 681E - Runaway to a Shadow 计算几何
- Codeforces 32E Hide-and-Seek 求2点关于镜面反射 计算几何
- Codeforces Round #358 (Div. 2) E 计算几何 旋转卡壳求最大三角形面积
- Codeforces Round #357 (Div. 2) E. Runaway to a Shadow 计算几何
- #51 Codeforces-E. Very simple problem (计算几何)(点被多少个三角形包含)
- CodeForces 372 E.Drawing Circles is Fun(计算几何+dp)
- Codeforces 800B 计算几何
- CodeForces 1C(计算几何)
- codeforces 1C 计算几何
- CF 333E 计算几何+bitset优化
- codeforces 183 B Zoo--计算几何+枚举
- CodeForces 281c Rectangle Puzzle 计算几何
- bzoj1588: [HNOI2002]营业额统计
- Briefly unavailable for scheduled maintenance. Check back in a minute.
- 关于javascript变量声明、函数声明提升的问题
- 安卓布局 - 表格布局(TableLayout)
- 富文本编辑器的使用
- Codeforces 682E 计算几何
- DOS命令大全
- 【概念笔记】JAVA基础 - part5
- linux安装tensorflow
- centos 升级内核
- CentOS 7 搭建 Java 开发环境详解(RPM)
- Heat maps
- wordpress提高访问速度
- [leetCode刷题笔记]2017.02.08