POJ 1700贪心算法
来源:互联网 发布:软件开发部门职责 编辑:程序博客网 时间:2024/06/05 08:20
今天晕了一天啊,感觉什么都做不下去。这是今天做出来的一道题。
http://poj.org/problem?id=1700
题目非常简单,一群人去过河,但只有一条船,每次只能载两个人。这两个过河的速度取决于较慢的那一个。那么就有两种策略进行贪心,即划船最快的人带所有人过河,或者划船最慢的人和划船第二慢的人一起过河。开始是我们先让划船最快的两个人过河,然后对划船最慢的人进行讨论。
第一种情况:用最快的人带他们过河 time=2*val[1]+val[lowest]+val[lowest-1]
第二种情况:即他们俩一起过河:time=2*val[2]+val[1]+val[lowest]
即在此时1划船回来让他们过河,然后对岸的2划船回来接1过河。
那么,注意当只剩余1个人的情况(即1划船回来接他过河),就可以得到结果啦!!!
下面附上代码:
#include<iostream>#include<cstdio>#include<algorithm>#include<queue>#include<vector>#include<cmath>using namespace std;int value[1005], n,ans;bool comp(int a, int b){return a < b;}int main(){int i, t,stat,end,last_num;cin >> t;while (t--){memset(value, 0, sizeof(value));cin >> n;for (i = 1; i <= n; i++)cin >> value[i];sort(value + 1, value + n + 1, comp);stat = 1; end = n; last_num = n-2;ans = value[2]; //进行初始化操作if (n == 1 || n == 2){cout << max(value[1], value[2]) << endl;continue;} //枚举只有1个或2个人的情况while (last_num >0){if (last_num == 1){ans += value[1] + value[3]; //只有1个人时的情况break;}else if (2 * value[2] > value[1] + value[last_num+1])ans += 2 * value[1] + value[last_num+2] + value[last_num+1];elseans += 2 * value[2] + value[last_num+2]+value[1];last_num -= 2;}cout << ans << endl;}return 0;}
0 0
- POJ 1700贪心算法
- poj 1700 贪心算法(1)
- POJ 1089 贪心算法
- poj 1017 贪心算法
- POJ-1328(贪心算法)
- POJ 1328 贪心算法
- POJ 2287贪心算法
- poj 3069 贪心算法
- POJ 1328 简单贪心算法
- POJ 3485 Highway(贪心算法)
- poj 1700 贪心
- poj 1700 过河贪心
- poj 1700 贪心过河
- 贪心(POJ 1700)
- poj 1328 贪心算法的深入剖析
- POJ 1065 木棍问题 贪心算法
- POJ 1328 Radar Installation 贪心算法
- poj 1065 Wooden Sticks(贪心算法)
- IP高清模组将为行业带来新动力
- 黑马程序员----基础题----我的基础题
- 三十而立,从零开始学ios开发(十二):Table Views(中)UITableViewCell定制 - minglz - 博客园
- Visual Studio 2015 Enterprise Key
- 三十而立,从零开始学ios开发(十二):Table Views(上) - minglz - 博客
- POJ 1700贪心算法
- 三十而立,从零开始学ios开发(十一):Tab Bars和Pickers - minglz - 博客
- 三十而立,从零开始学ios开发(十):Multiview Applications(多个xib之前的切换) - minglz - 博客园
- 三十而立,从零开始学ios开发(九):Swapping Views - minglz - 博客园
- 三十而立,从零开始学ios开发(八):Autorotation and Autosizing - min
- python extend append
- 股票学习(K线)
- 十而立,从零开始学ios开发(七):Delegate,Action Sheet, Alert -
- UICollectionView详解5:瀑布流