poj1700
来源:互联网 发布:nginx压力测试工具 编辑:程序博客网 时间:2024/05/22 05:10
题意是让n个人过河然后通过的时间最短,而且只有一条船,所以过完河的人还要有一个人将船划会对岸,最开始想到的是让时间最短额人依次配每个人个过河,但是这不是最简单的,因为我们可以设想让时间最长的人和次长的人过河,而让时间最短和次短的人当作不断划船的人。
但是,这里涉及了一个比较,就是是让时间最短的人依次配他们过的时间最短还是才用第二种方法,所以这里涉及到一个判断的,代码如下:
#include<iostream>
#include<cstdlib>
using namespace std;
int a[1005];
int cmp(const void *a,const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
int n,m,i,j,k;
cin>>n;
while(n--)
{
cin>>m;
for(i=0; i<m; i++)
cin>>a[i];
qsort(a,m,sizeof(int),cmp);
int sum=0;
int i=m-1;
if(i==0)
sum+=a[0];
while(i>0)
{
if(i==1)
sum+=a[1];
else if(i==2)
sum+=a[1]+a[0]+a[2];
else
{
if(2*a[1]>a[0]+a[i-1])
sum+=2*a[0]+a[i]+a[i-1];
else
sum+=a[0]+a[i]+a[1]*2;
}
i=i-2;
}
cout<<sum<<endl;
}
return 0;
}
- poj1700
- poj1700
- poj1700
- poj1700
- poj1700
- POJ1700
- POJ1700
- POJ1700 渡河
- 贪心poj1700
- POJ1700 Crossing River DP
- Crossing River POJ1700
- poj1700 Crossing River 贪心
- 北大ACM poj1700 poj3404
- POJ1700 Crossing River
- POJ1700:Crossing River
- poj1700 (贪心算法)
- poj1700过河问题(贪心)
- poj1700过河问题
- Android的焦点(Focus)问题
- 每天养成24个好习惯,日积月累你会发现受益无穷
- js 字符串的字符长度。(用于验证input长度,中文算两个字符)
- 结构之美——优先队列三大结构(三)——Pairing Heap
- DllMain中不当操作导致死锁问题的分析--导致DllMain中死锁的关键隐藏因子
- poj1700
- sql server语句加强
- 几种开源Portal的简单介绍
- Java Annotation实战
- Android学习笔记(33)--- Widget中AppWidgetProvider,update更新问题
- 修改开机LOGO
- Spring控制反转和依赖注入
- xcode的Debug技巧
- V4L2 编程