Hoj 2485 Myacm Triangles
来源:互联网 发布:qq个人业务源码带后台 编辑:程序博客网 时间:2024/05/17 06:51
题目:http://acm.hit.edu.cn/hoj/problem/view?id=2485
求给定点组成的三角形的面积最大值。并且三角形内部不能有其他点。
暴力+叉积即可。
#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <vector>using namespace std;struct Point{ char c; int x; int y;};Point p[20];//求面积绝对值double cross(Point O,Point A,Point B){ return fabs((A.x - O.x) * (B.y - O.y) - (B.x - O.x) * (A.y - O.y))/2;}//o是否在ABC中,在返回truebool judge(Point A,Point B,Point C,Point O){ double area = cross(A,B,C); double s = 0; s += cross(O,A,B); s += cross(O,B,C); s += cross(O,C,A); if(fabs(area-s)<=1e-8) { return true; } else { return false; }}int main(){#ifndef ONLINE_JUDGE freopen("in.txt","r",stdin);#endif int n; while(scanf(" %d",&n)!=EOF && n!=0) { double area = 0; Point maxA,maxB,maxC; for(int i=1; i<=n; i++) { scanf(" %c %d %d",&p[i].c,&p[i].x,&p[i].y); } for(int i=1; i<=n; i++) { for(int j=i+1; j<=n; j++) { for(int k=j+1; k<=n; k++) { int flag = 0; for(int t=1; t<=n; t++) { if(t == i || t == j || t == k) { continue; } if(judge(p[i],p[j],p[k],p[t])) { flag = 1; break; } } //满足条件的三角形 if(flag == 0) { double temp = cross(p[i],p[j],p[k]); if(temp > area) { area = temp; maxA = p[i]; maxB = p[j]; maxC = p[k]; } } } } } printf("%c%c%c\n",maxA.c,maxB.c,maxC.c); } return 0;}
- Hoj 2485 Myacm Triangles
- Myacm Triangles hoj,poj,uva 计算几何
- Myacm Triangles
- Myacm Triangles
- ZOJ 1704 Myacm Triangles
- pku1569 Myacm Triangles
- UVa 10112 Myacm Triangles
- uva10112 Myacm Triangles
- poj1569 Myacm Triangles
- uva 10112 - Myacm Triangles
- UVA-10112 - Myacm Triangles
- UVa 10112 - Myacm Triangles
- UVa 10112 - Myacm Triangles
- 10112 - Myacm Triangles
- Uva 10112 - Myacm Triangles
- uva 10112 Myacm Triangles
- 10112 - Myacm Triangles
- 10112 - Myacm Triangles
- 剖析Hibernate主键生成几种常用方式
- 使用spring获取项目的绝对路径,就算打JAR包一样获得当前项目的绝对路径
- mysql 函數大全
- Common Functions
- 九度——题目1002:Grading
- Hoj 2485 Myacm Triangles
- ListCtrl 选中某行
- java jxl excel 数据导出 重新命名无效的工作表名称
- 九度——题目1003:A+B
- 九度——题目1004:Median
- 单点登入技术
- 通过 ulimit 改善系统性能
- (转)Android Service 服务(一)—— Service
- Sencha touch 2 store 处理超时的处理事件