挑战程序设计竞赛(1.6-p26)
来源:互联网 发布:淘宝设置定时上架 编辑:程序博客网 时间:2024/06/07 06:15
挑战程序设计竞赛
标签 : acm
参考
P26
1.6 有n根棍子,棍子i的长度为ai,想要从中选出3根棍子组成周长尽可能长的三角形,请输出最大的周长,若无法组成三角形则输出0。
思路:直接三重循环遍历能得到结果,时间复杂度为$O(n^3)$,如果给定的棍子是排好序的,那事情就好办了,若
$n1<n2<n3<n4<...<nk$,选取邻近的三个数即可。显然如果选择为ni,n(i+1),n(i+2)
#define ONLINE_JUDGE#include <iostream>#include <vector>#include <iterator>#include <algorithm>#include <functional>using namespace std;int main(int argc, char *argv[]){#ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout);#endif int n; cin >> n; vector<int> coll; copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(coll)); sort(coll.begin(), coll.end(), greater<int>()); //copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " ")); bool found = false; for (int i = 0; i < n - 2; ++i) { if (coll[i] < coll[i + 1] + coll[i + 2]) { cout << coll[i] + coll[i + 1] + coll[i + 2] << endl; found = true; break; } } if (!found) { cout << 0 << endl; }#ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout); system("out.txt");#endif return 0;}
阅读全文
0 0
- 挑战程序设计竞赛(1.6-p26)
- 《挑战程序设计竞赛》1.6 轻松热身 POJ1852
- POJ 1852 Ants 《挑战程序设计竞赛》1.6
- 《挑战程序设计竞赛》 读后感
- 挑战程序设计竞赛:三角形
- 《挑战程序设计竞赛》 读后感
- 挑战程序设计竞赛(1)
- 挑战程序设计竞赛p42(贪心)
- ACM Ball(挑战程序设计竞赛)
- ACM Hopscotch(挑战程序设计竞赛)
- ACM Osenbei(挑战程序设计竞赛)
- ACM Packets(挑战程序设计竞赛)
- 挑战程序设计竞赛---POJ.2686
- 挑战程序设计竞赛---POJ.3233
- 水洼 POJ2386 挑战程序设计竞赛
- 挑战程序设计竞赛:0101抽签
- 挑战程序设计竞赛笔记_P55
- 挑战编程 程序设计竞赛训练手册-1.6.2 扫雷(Minesweeper)
- py urllib
- maven项目之发送邮件
- 第三篇:menu菜单的创建以及使用
- ant的几个配置文件
- Source Insight 使用
- 挑战程序设计竞赛(1.6-p26)
- 贪心算法 & 动态规划基础题
- ACM 国内外几个网站 & 题目分类
- linux 常用脚本,用到的时候快速修改
- python写的常用脚本,用到的时候快速修改
- MyBatis 学习
- algorithm 4th笔记(1.3)
- algorithm 4th(2.2)归并排序
- nyoj 35 表达式求值