NYOJ 47 河问题
- 描写叙述
-
在漆黑的夜里,N位旅行者来到了一座狭窄并且没有护栏的桥边。假设不借助手电筒的话,大家是不管怎样也不敢过桥去的。不幸的是,N个人一共仅仅带了一仅仅手电筒。而桥窄得仅仅够让两个人同一时候过。
假设各自单独过桥的话,N人所须要的时间已知;而假设两人同一时候过桥。所须要的时间就是走得比較慢的那个人单独行动时所需的时间。问题是,怎样设计一个方案,让这N人尽快过桥。
- 输入
- 第一行是一个整数T(1<=T<=20)表示測试数据的组数
每组測试数据的第一行是一个整数N(1<=N<=1000)表示共同拥有N个人要过河
每组測试数据的第二行是N个整数Si,表示此人过河所须要花时间。(0<Si<=100) - 输出
- 输出全部人都过河须要用的最少时间
- 例子输入
-
1
4
1 2 5 10 - 例子输出
-
17
感觉比較新鲜的一道题
代码:
#include <iostream>
#include <algorithm> using namespace std; int main()
{
int n,m,i,j,k;
cin>>n;
while(n--)
{
cin>>m;
int *a=new int[m];
for(i=0;i<m;i++)
cin>>a[i]; sort(a,a+m); k=0;
while (m>3)
{
if(2*a[1]<a[0]+a[m-2])
{
k+=a[1]; //a[0]和a[1]过河
k+=a[0]; //a[0]回来
k+=a[m-1]; //a[0]和a[n-1]过河
k+=a[1]; //a[1]回来
}
else
{
k+=a[m-1]; //a[0]和a[n-1]过河
k+=a[0]; //a[0]回来
k+=a[m-2]; //a[0]和a[n-2]过河
k+=a[0]; //a[1]回来
}
m-=2;
} if(3==m)
k=k+a[0]+a[1]+a[2];
else if(2==m)
k=k+a[1];
else if(1==m)
k=k+a[0]; cout<<k<<endl; delete[] a;
}
return 0;
}
NYOJ 47 河问题的更多相关文章
- nyoj 47 江 河问题 【贪婪】
经典的贪婪. 两种方案:一个:让我们来最快,第二快,在过去的第一,最快的回.然后最慢,最慢第二,在过去.次最快的回来a[0]+a[1]+a[1]+a[n-1] 二:最快的和最慢的过去,最快的回来,最快 ...
- NYOJ 47:过河问题(思维)
47-过河问题 内存限制:64MB 时间限制:1000ms 特判: No 通过数:6 提交数:10 难度:5 题目描述: 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话 ...
- nyoj 47-过河问题 (贪心)
47-过河问题 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:2 submit:5 题目描述: 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的 ...
- NYOJ 47-过河问题
点击打开链接 过河问题 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不 ...
- NYOJ 47过河问题
主要思路:先排序.有两种可能是最小的情况,一种是让最小的去带着最大的过去,然后最小的再回来,还有一种就是先最小的和第二小的一块过去, 然后最小的回来,让最大的和第二大的过去,接着第二小的回来,第二小和 ...
- NYOJ 47
思路: 在n>3的时候就用前两个小的来带后两个大的,有两种方式(一就是1,2先过,然后1回来,然后n,n-1过,然后2,回来),(二就是 1,n先过去 然后1回来,然后 1,n-1过去吗.,然后 ...
- nyoj 47——过河问题——————【贪心】
过河问题 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不敢过桥去的 ...
- 过河问题--nyoj题目47
过河问题 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不敢过桥去的 ...
- nyoj 737 石子合并 http://blog.csdn.net/wangdan11111/article/details/45032519
http://blog.csdn.net/wangdan11111/article/details/45032519 http://acm.nyist.net/JudgeOnline/problem. ...
随机推荐
- 4种Delphi IDE的调试时查看内存的方法,太酷了!
1.ctrl+alt+m,可以查看每个函数过程的内存位置 2.Ctrl+Alt+C 查看代码对应的汇编 3.原来用delphi看变量信息一直是简单的用watch看,但是有时候变量值直接用特定类型看总是 ...
- Redisql: the lightning fast data polyglot【翻译】 - Linvo's blog - 博客频道 - CSDN.NET
Redisql: the lightning fast data polyglot[翻译] - Linvo's blog - 博客频道 - CSDN.NET Redisql: the lightnin ...
- 关于iptables的u32匹配
前面一篇文章----阐释了iptables最新的bpf match,说它将多个matches并成了一个经过编译的解释型bytecode bpf match,早在bpf match之前,u32 matc ...
- Web.xml配置具体解释之context-param
转自:http://blog.csdn.net/liaoxiaohua1981/article/details/6759206 格式定义: [html] view plaincopy <cont ...
- 经典的C++库【转帖】
源地址:http://www.deuxmille.org/archives/1472 基础类1. Dinkumware C++ Library 参考站点:http://www.dinkumware.c ...
- Android短信监听(二)——利用ContentObserver实现短信监听
MainActivity例如以下: package cc.testsmslistener; import cc.testsmslistener.SMSContentObserver.MessageLi ...
- Bdsyn百度手机助手是何物,它是怎样神不知鬼不觉地安装到你的电脑里的?
[电脑软件管理中Bdsyn手机助手的问题]Bdsyn手机助手 is developed by Baidu, Inc. and is used by 10 users of Software Infor ...
- cocos2d 游戏开发:Cocos2d v3 "hello world"+显示飞船
V3 RC4 版本号图片 显示一个飞船 将Chapter1中 SpaceCargoShip.png 文件 加入到项目里面. 代码在 init : CCSprite *spaceCargoShip = ...
- DELPHI学习---类和对象(五篇)
Classes and objects(类和对象) 类(或者类类型)定义了一个结构,它包括字段(也称为域).方法和属性:类的实例叫做对象:类的字段.方法和属性被称为它的部件(components)或成 ...
- Oracle Enterprise Manager Cloud Control 12c R4 安装配置
准备软件 em12.1.0.4_linux64_V45344-01.zip em12.1.0.4_linux64_V45345-01.zip em12.1.0.4_linux64_V45346-01. ...