HDU 5135 Little Zu Chongzhi's Triangles(简单水题)
2015-10-12 22:46
375 查看
题目链接:
戳我题目大意:
给一堆 木棍,用这些木棍组成三角形,要组成的所有的三角形的面积和最大,不一定要用完所有的木棍。样例解释:
3 //三个棍子1 1 20 // 每个棍子的长度,自然,这三个棍子不可能组成三角形,故输出 0.00
7 // 7个棍子
3 4 5 3 4 5 90 // 组成两个三角形(3, 3 4)和(4, 4, 5),面积和即为13.64
0 // 输出 0 退出
解题思路:
本来不想写题解的,因为太水了,,,,,,,可是看到 谷歌搜出来的 都是用动态规划,啊啊啊啊啊啊,一道水题,用得着动态规划吗,杀鸡用牛刀啊(其实我不太懂动态规划 |||||||)
直接排序, 尽量 大和大的结合,不能结合就依次向下找
代码:
//Author LJH //www.cnblogs.com/tenlee #include <cstdio> #include <cstdlib> #include <cstring> #include <cctype> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <stack> #include <map> #define clc(a, b) memset(a, b, sizeof(a)) #define LL long long using namespace std; const int inf = 0x3f; const int INF = 0x3f3f3f3f; const int maxn = 20; const double eps = 1e-6; int n, ha[maxn]; double ver[maxn]; inline double getArea(double a, double b, double c) { //printf("a = %.0lf, b = %.0lf, c = %.0lf\n", a, b, c); double p = (a + b + c) / 2.0; double area = sqrt(p * (p - a) * (p - b) * (p - c));//海伦公式,求三角形面积 return area; } bool cmp(double a, double b) { return a > b; } int main() { while(~scanf("%d", &n) && n) { clc(ha, 0); for(int i = 1; i <= n; i++) { scanf("%lf", &ver[i]); } sort(ver+1, ver+n+1, cmp); /*for(int i = 1; i <= n; i++) printf("%.0lf\n", ver[i]);*/ int j = 2, k = 1; double sum = 0; /////////解决思路 while(j <= n) { if(ver[j] - ver[j-1]/2 > eps) { k++; } else { k = 1; } if(k == 3) { k = 0; sum += getArea(ver[j], ver[j-1], ver[j-2]); } j++; } printf("%.2lf\n", sum); } return 0; }
相关文章推荐
- Android提高第十九篇之"多方向"抽屉--转
- java连接数据库代码sqlserver2008(在netbeans中)
- iOS的UINavigationController简单使用入门(状态:已完成)
- Action中访问Servlet API
- 韩顺平 java 第39讲 线程
- 鸡兔同笼问题
- 最长公共子序列(Longest Common Subsequence,LCS)
- G.729 :音频编码算法
- 精品软件推荐 Desktop Central - Free Windows Admin Tools
- 精品软件推荐 Desktop Central - Free Windows Admin Tools
- 谷歌C++编程规范笔记
- 五种常用的图片格式及其是否有数据压缩的总结
- mysql的autocommit
- 谷歌C++编程规范笔记
- Android UI 设计:ListView控件和ArrayAdapter适配器(二)
- java并发编程实践--原子变量、volatile、synchornized
- px,em,rem的区别
- java内部类
- CentOS 7.0,启用iptables防火墙
- jquery特效之可编辑的表格