Crossing River

题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=26251

题意:

N个人希望去过河,但每次只能过两个且要有一个人把船划回来接其他的人;

两个人一起过河所用的时间是两个人中单独过河时间最多的;

求所有人过河所需要的最少的时间。

思路分析:

定义一个装n个人中每个人过河所需要的时间数组a[];并用sort进行从小到大进行排序。

求将最慢的和次慢的运过去所需的最少时间,下面有两种可能使所需时间最短的运送的方法:

1)先让最快的和次快的过去且让最快的回来,后要最慢的和次慢的过去让次快的回来;

这样所需要的时间为a[0]+2*a[1]+a[n-1]

2)让最慢的和最快的过去最快的回来;再让最快的和次慢的过去最快的回来;

这样所需要的时间为2*a[0]+a[n-1]+a[n-2]

将这两种方法所需的时间进行比较。

说明:当只有3个人或更少时不管如何过河所需的时间都是他们单独过河所需的时间的总和。

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

Crossing River的更多相关文章

  1. POJ 1700 Crossing River (贪心)

    Crossing River Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9585 Accepted: 3622 Descri ...

  2. Crossing River(1700poj)

    Crossing River Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9919   Accepted: 3752 De ...

  3. poj 1700 Crossing River 过河问题。贪心

    Crossing River Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9887   Accepted: 3737 De ...

  4. poj1700--贪心--Crossing River

    Crossing River Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12260   Accepted: 4641 D ...

  5. POJ1700:Crossing River(过河问题)

    POJ1700 题目链接:http://poj.org/problem?id=1700 Time Limit:1000MS     Memory Limit:10000KB     64bit IO ...

  6. I - Crossing River

    A group of N people wishes to go across a river with only one boat, which can at most carry two pers ...

  7. 贪心Crossing river

    英文题目: A group of N people wishes to go across a river with only one boat, which can at most carry tw ...

  8. POJ 1700 - Crossing River

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 13982   Accepted: 5349 Description A gr ...

  9. ACM学习历程——POJ 1700 Crossing River(贪心)

    Description A group of N people wishes to go across a river with only one boat, which can at most ca ...

随机推荐

  1. [WebService] the namespace on the "definitions" element, is not a valid SOAP version

    公司对外通过webservice访问别人接口,对方webservice IP地址发生变化,切换过去之后,始终报错,在网上搜索了各种办法之后,暂时总结该问题几种可能解决办法,待真正解决时用的到. 异常详 ...

  2. 关于SQLSERVER联合查询一点看法

    首先看一段代码 这个数据库表我就不发了,这段代码的意思是:查询Book表中大于该类图书价格平均值的图书信息, 先看()里的内容,我一个表起了两个别名,让这个表的相同的id相等,查出平均分,然后再看() ...

  3. 安卓图表引擎AChartEngine(一) - 简介

    AChartEngine 是一个安卓系统上制作图表的框架,目前它支持如下的图表类型: line chart (折线图) area chart (面积图:分区图,对比图) scatter chart ( ...

  4. 设置type为file的input标签选择图片类型

    设置能选择各种类型的图片如:png,jpg <input id="file" name="file" type="file" acce ...

  5. 用js 向h5 中的table 动态添加数据 (简单实现)

    //向 表格传值 function setTextareaValue(items,pp){ console.log(" 进入函数 items=="+items); var tb = ...

  6. RecyclerView 介绍 01

    RecyclerView是Android support v7里面是一个自定义控件.用来显示大量数据集合.类似ListView和GridView这两个控件,RecyclerView同样可以实现,甚至更 ...

  7. JS 中面向对象的5种写法

    //第1种写法 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circle.prototype.area = function() { ...

  8. Amazon S3云存储服务器的功能及编程接口

    http://blog.csdn.net/iamshaofa/article/details/7877785/

  9. 让Docker使用国内的镜像服务

    使用 Docker 的时候,需要经常从官方获取镜像,但是由于显而易见的网络原因,拉取镜像的过程非常耗时,严重影响使用 Docker 的体验.因此 DaoCloud 推出 Docker 加速器解决这个难 ...

  10. 期望+DP ZOJ 3929 Deque and Balls

    题目链接 题意:给你n个数,按照顺序依次放入一个双端队列(可放在头部,也可以放在尾部),求xi > xi+1的期望 * 2^n mod (1e9 +7) 分析:期望*2^n=出现这种排法的概率* ...