HDU 4709 三循环暴力
来源:互联网 发布:mactype mac字体 编辑:程序博客网 时间:2024/04/30 04:01
这个题本身也确实比较简单,题目说求最小面积,要面积最小的话,自然是三角形。所以问题就转化在已知点中,求最小的三角形面积。
计算三角形面积,可以用海伦公式,也可以使用叉乘。我在这里使用的是叉乘。
做题的过程中,我也是遇到了两个问题。一个是在点的定义上用float的话会WA。所以还是使用double 来定义点。另外就是一定要判断三个点是否能够构成三角形。
下面是AC代码:
#include <cstdio>#include <cmath>#include <iostream>using namespace std;#define fn(i,n) for(int i = 0; i < n; i++)const double EPS = 1e-8;const int INF = 0x3f3f3f3f;struct piont{ double x, y;} p[111];double area(piont a,piont b,piont c){ return fabs((b.x - a.x) * (c.y - a.y) - (c.x - a.x) * (b.y - a.y))/2.0;}int main(){ int T; cin >> T; while(T--) { int n , sign = 1; double ans = INF; cin >> n; fn(i,n) cin >> p[i].x >> p[i].y; for(int i = 0; i < n - 2; i++) for(int j = i + 1; j < n - 1; j++) for(int k = j + 1; k < n; k++) { double tmp; tmp = area(p[i],p[j],p[k]); if((tmp < ans)&&(tmp > EPS)) { sign = 0; ans = tmp; } } if(sign)cout << "Impossible" << endl; else printf("%.2f\n", ans); } return 0;}
0 0
- HDU 4709 三循环暴力
- hdu 4291(矩阵+暴力求循环节)
- HDU-1015 Safecracker(DFS+暴力回溯 / 五重循环)
- 暴力枚举 循环数
- HDU1248 1407 for循环暴力
- 【字符串暴力】hdu 2847
- HDU **** 暴力模拟
- HDU-1128 暴力搜索
- hdu 2438 暴力吧
- HDU 4175 暴力求解
- hdu 3332 暴力枚举
- HDU 3823 暴力枚举
- hdu 4608 暴力大数
- hdu 1702 暴力
- hdu 4585 shaolin (暴力)
- HDU 4576 Robot (暴力)
- hdu 3711 暴力
- HDU 3697 暴力贪心
- android布局属性详解
- IncrediBuild工具使用及设置
- 快递查询应用实例
- .net中连接Oracle 的两种方式:OracleClient,OleDb
- ClippingNode 实现类似子弹打穿纸片效果
- HDU 4709 三循环暴力
- Java 枚举实现单例
- IncrediBuild联合编译的使用
- 构建高性能服务(一)ConcurrentSkipListMap和链表构建高性能Java Memcached
- 【HDU 1019】Least Common Multiple —— LCM
- SVG图像动画鉴赏
- 给没有毕业的同学
- Jquery中的offset()和position()方法详解
- uiscrollview 放大/缩小后 contentSize被改变