ZOJ Problem Set - 1579 Bridge
来源:互联网 发布:太原理工大 软件学院吧 编辑:程序博客网 时间:2024/05/21 18:31
一道有趣的贪心题。
3个人a1,a2,a3:那么最少的就是a1 + a2 + a3;
4个人a1,a2,a3,a4(排好序):有两种情况:
(1)、a1和a2先过去,a1回来,耗时a1+a2,a3和a4再过去,a2回来,耗时a2+a4。总耗时a1+2*a2+a4。
(2)、a1逐次送a3,a4过去。总耗时2*a1+a3+a4;
思路就是每次送最后两个过桥,对上面两种方法贪心,到最后进行后判。
#include <iostream>#include <algorithm>using namespace std;long long p[100010];int main(){ int i,j,n; long long tmp1,tmp2,ans; while(cin>>n) { ans = 0; for(i = 0;i < n;i ++) cin>>p[i]; sort(p,p+n); while(n > 3) { tmp1 = p[0] + 2*p[1] + p[n-1]; tmp2 = 2*p[0] + p[n-1] + p[n-2]; if(tmp1 > tmp2) ans += tmp2; else ans += tmp1; n -= 2; } if(n == 3) {cout<<ans + p[0] + p[1] + p[2]<<endl;continue;} if(n == 2) {cout<<ans +p[1]<<endl;continue;} if(n == 1) {cout<<ans +p[0]<<endl;continue;} if(n == 0) {cout<<0<<endl;} } return 0;}
- ZOJ Problem Set - 1579 Bridge
- ZOJ Problem Set - 2060
- ZOJ Problem Set - 2972
- ZOJ Problem Set - 1037
- ZOJ Problem Set - 1048
- ZOJ Problem Set - 1049
- ZOJ Problem Set - 1051
- ZOJ Problem Set - 1067
- ZOJ Problem Set - 1115
- ZOJ Problem Set - 1151
- ZOJ Problem Set - 1205
- ZOJ Problem Set - 1025
- ZOJ Problem Set - 1029
- ZOJ Problem Set - 1076
- ZOJ Problem Set - 1117
- ZOJ Problem Set - 1041
- ZOJ Problem Set - 1004
- ZOJ Problem Set - 1005
- jsp乱码问题
- 学软件开发就走Java路线
- 关于散列函数
- hoj 1225 Supermarket
- 如何制作ISO光盘镜像,2款工具 PowerISO, UltraISO
- ZOJ Problem Set - 1579 Bridge
- 虚拟网卡 TUN/TAP 驱动程序设计原理
- 软中断(softirq)机制
- 一脚正式跨入了移动互联网时代
- Linux Mint12体验-如何使用sudo不输入密码
- 关于游戏测试方法(从51testing游戏测试中,选择摘录)
- PHP学习
- ORACLE归档模式的设置
- Customize sorting of QTreeWidget