POJ题目链接:http://poj.org/problem?id=1700
N个人过河,船每次最多只能坐两个人,船载每个人过河的所需时间不同,问最快的过河时间。

思路:

时所需要的最小时间很容易求得,现在由,假设n个人单独过河所需要的时间存储在数组 中,将数组  按升序排序,那么 这时将单独过河所需要时间最多的两个旅行者送到对岸去。

有两种方式:

1> 最快的(即所用时间t[0])和次快的过河,然后最快的将船划回来,再次慢的和最慢的过河,然后次快的将船划回来。

即所需时间为:t[0]+2*t[1]+t[n-1]

2> 最快的和最慢的过河,然后最快的将船划回来,再最快的和次慢的过河,然后最快的将船划回来。

即所需时间为:2*t[0]+t[n-2]+t[n-1]

这样就将过河所需时间最大的两个人送过了河,而对于剩下的人,采用同样的处理方式,接下来做的就是判断怎样用的时间最少。

代码如下:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{int m,n,t[1001],i,sum;cin>>m;while(m--){cin>>n;sum=0;for(i=0;i<n;i++)cin>>t[i];sort(t,t+n);for(i=n-1;i>2;i-=2)if(t[0]+2*t[1]+t[i] > 2*t[0]+t[i-1]+t[i])sum += 2*t[0]+t[i-1]+t[i];else sum += t[0]+2*t[1]+t[i];if(i==2) sum += t[0]+t[1]+t[2];else if(i==1) sum += t[1];else sum += t[0];cout<<sum<<endl;}return 0;
}

POJ 1700 经典过河问题(贪心)相关推荐

  1. 信息学奥赛第十节 —— 贪心算法(渡河问题POJ 1700 Crossing River + 拦截导弹的系统数量求解)

    复习概念 贪心算法又叫贪婪算法,是指在对问题求解时,总是做出在当前看来是最好的选择.也就是说,贪心算法不从整体最优上加以考虑,它所做出的是在某种意义上的局部最优解. 无后效性:贪心算法不是对所有问题都 ...

  2. 第七讲. 经典算法之贪心选择

    第七讲. 经典算法之贪心选择 1. 简介 2. 从一个简单例题开始 3. 一个稍难的题目 4. 最重要贪心算法(可作模板) 4.1 最小生成树 4.2 最短路 5. 最后说几句 1. 简介 贪心算法, ...

  3. POJ 1700 过河坐船最短时间问题

    这道题如果理解了就不难了,可分为一步步两个永远最快的a[0],a[1]载现存的两个最慢的过河的问题,一种是最快a[0]载现存最慢过去,0再回来,再载次慢,0再回来,时间为2*a[0]+t[p-2]+t ...

  4. POJ 2054 Color a Tree (贪心)

    $ POJ~2054~Color~a~Tree $ $ solution: $ 我们先从题中抽取信息,因为每个点的费用和染色的次数有关,所以我们可以很自然的想到先给权值大的节点染色.但是题目还说每个节 ...

  5. 活动选择与小船过河问题(贪心算法)

    活动选择问题描述: 存在一个教室,有下面若干个活动需要安排在一天进行,活动之间不能重叠,如何安排活动使活动的数量最多? 活动序号 1 2 3 4 5 6 7 8 9 10 11  (活动已经按结束时间 ...

  6. 经典算法之贪心(Greedy)

    1.贪心的定义   贪心算法是什么意思?举个例子就很清楚了:现在你有一个能装4斤苹果的袋子,苹果有两种,一种3斤一个,一种2斤一个,怎么装才能得到最多苹果?当然我们人考虑的话当然是拿两个2斤的苹果,就 ...

  7. poj 1163经典DP

    DP(Dinamic Programming),即为动态规划.     应该来说DP算法在ACM中是比较常见,也是比较难的,当然,做多了就不觉得难了,这是一条亘古不变的自然规律.以前在做ACM题的时候 ...

  8. 农夫过河——python贪心算法实现

    1.问题描述: 一个农夫在河的西岸带了一匹狼.一只羊和一棵白菜,他需要把这三样东西用船带到河的东岸.然而,这艘船只能容下农夫本人和另外一样东西.如果农夫不在场的话,狼会吃掉羊,羊也会吃掉白菜. 2.问 ...

  9. 哈理工OJ-1584-青蛙过河【贪心+二分】

    青蛙王国一年一度的游戏又开始了,这个游戏要求青蛙必须跳过河.河的宽度是 L .河里有n块石头,这n块石头从河的一边笔直的连到另一边.青蛙只能踩着石头过河,如果它们掉到水里,将被淘汰出局.游戏规定青蛙最 ...

最新文章

  1. nova6的4g版能支持鸿蒙,鸿蒙公测新增6款手机,都是nova系列,包括一款4G手机
  2. android学习从模仿开始 —— 模仿UI 导航帖
  3. Hadoop系列之六:分布式文件系统HDFS
  4. UVa 10359 - Tiling
  5. 系统管理-第1部分 系统的易管理性
  6. OpenCV启动Viz
  7. Win10/Server2016镜像集成离线补丁
  8. 2020人脸识别报告:上万家企业入局,八大技术六个趋势一文看尽
  9. linux ps -ang,PS顶级一键人像修图插件-DeliciousRetouchPlus
  10. 对缓存投毒的学习总结
  11. H3C交换机如何进行批量端口配置
  12. arcgis加载项双击没反应
  13. Altium Designer(17.0)原理图模板设计
  14. 十大算法展辉煌历史,十大问题引锦绣前程
  15. 将Windows7屏幕外的窗口拖回
  16. 快手智能视频图像编码处理服务架构
  17. 图像的down-samplig 和up-sampling
  18. uni-app使用微信小程序的插件
  19. 【转】怎样申请免费空间和一级域名
  20. 查找——平均查找长度

热门文章

  1. el-checkbox为甚点击一个其他的全部都选中了,或者为什么选中的绑定的获取的不是label而是true或者false呢?获取label但是不显示
  2. 为什么单个元素的元组要加上逗号?
  3. 本人对2023年网络安全演练规划要求
  4. 【破解作品】Access密码查看器 破解版 注册码
  5. 读《怪诞行为学》有感
  6. 几种蔬菜帮你降糖 血糖过高的人别错过
  7. 嵌入式开发的那些年--aiku
  8. pip install exifread 安装exfriead模块
  9. 官方确认:新增一所“双一流”大学!
  10. 分布式、服务化的企业级 ERP 系统架构设计方案