南阳OJ独木舟上的旅行
/*独木舟上的旅行
时间限制:3000 ms | 内存限制:65535 KB
难度:2
描写叙述
进行一次独木舟的旅行活动。独木舟能够在港口租到,而且之间没有差别。
一条独木舟最多仅仅能乘坐两个人。且乘客的总重量不能超过独木舟的最大承载量。
我们要尽量降低这次活动中的花销,所以要找出能够安置全部旅客的最少的独木舟条数。
如今请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。
依据给出的规则,计算要安置全部旅客必须的最少的独木舟条数,并输出结果。
输入第一行输入s,表示測试数据的组数;
每组数据的第一行包含两个整数w,n。80<=w<=200,1<=n<=300,
w为一条独木舟的最大承载量,n为人数;
接下来的一组数据为每一个人的重量(不能大于船的承载量);
输出每组人数所须要的最少独木舟的条数。例子输入3
85 6
5 84 85 80 84 83
90 3
90 45 60
100 5
50 50 90 40 60
例子输出5
3
3*/
<span style="font-size:18px;">#include<stdio.h>
#include<stdlib.h>
int comp(const void*a,const void*b);
int sum;
int main(void)
{
int i,s,w,n,q,j,x;
scanf("%d",&s);
while(s--)
{
scanf("%d%d",&w,&n);
i=0;
x=sum=n;
int *p=(int *)malloc(sizeof(int)*n);
while
(i<n)
{
scanf("%d",&p[i]);
i++;
}
qsort(p,n,sizeof(p[0]),comp);
for(i=0;i<x/2+1;i++)
{
q=0;
for(j=n-1;j>i;j--)
{
if(p[i]+p[j]<=w)
{
sum--;
q=1;
n=j;
break;
}
}
if(!q)
{
printf("%d\n",sum);
break;
}
}
free(p);
}
return 0;
}
int comp(const void*a,const void*b)
{
return*(int*)a-*(int*)b;
}
</span>
南阳OJ独木舟上的旅行的更多相关文章
- 南阳ACM 题目71:独木舟上的旅行 Java版
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客的总 ...
- nyoj 71 独木舟上的旅行(贪心专题)
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客 ...
- ACM 独木舟上的旅行
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客 ...
- nyoj 71 独木舟上的旅行
点击打开链接 独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度: 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人 ...
- 独木舟上的旅行--nyoj题目71
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客 ...
- NYOJ-71 独木舟上的旅行 (贪心)
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客 ...
- NYOJ 71 独木舟上的旅行(贪心)
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能乘坐两个人,且乘客 ...
- nyoj_71_独木舟上的旅行_201312122051
独木舟上的旅行 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别.一条独木舟最多只能 ...
- NYOJ 71 独木舟上的旅行【贪心】
解题思路:给出船的最大载重量w,和n个人,每只船最多可以乘坐两个人,问怎样坐船使得安排的船只的数量最少.这n个人的体重为a1,a2,a3,---,an-1,an首先将体重按升序排列好,再考虑最重的人, ...
随机推荐
- 并发-5CAS与AQS
juc: java.util.concurrent 锁: 悲观锁:写的比较多,对数据的增删改,读(查)少.Lock 乐观锁:反之,读多写少.版本 并发编程之 CAS 的原理 什么是CAS CAS (c ...
- 问题:执行[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/start-dfs.sh 后,namenode未启动
执行[root@node01 hadoop-2.6.0-cdh5.14.0]# sbin/start-dfs.sh 后,namenode未启动. 解决步骤: 查看/export/servers/had ...
- 将java project打包成jar包,web project 打包成war包的几种演示 此博文包含图片
转: http://blog.csdn.net/christine_ruan/article/details/7491559 http://developer.51cto.com/art/200907 ...
- IOS沙盒(sandbox)机制和文件操作
IOS学习之IOS沙盒(sandbox)机制和文件操作 作者:totogo2010 ,发布于2012-9-21,来源:CSDN 目录: IOS学习之IOS沙盒(sandbox)机制和文件操作( ...
- cc.AudioSource
cc.AudioSource1:AudioSource组件是音频源组件, 发出声音的源头2: AudioSource组件面板: clip: 声源的播放的音频对象: AudioClip, mp3, wa ...
- 如何判断页面是在移动端还是PC端打开的呢
1. window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? " ...
- IDEA打war包部署本地TOMCAT测试
在Eclipse中打war包很方便,导出即可直接选择war包,如下图所示: 但是在IDEA中有点麻烦,网上很多教程,做的也都很好,我自己也做一份,加深一下印象. 首先打开File->Projec ...
- python3.x Day5 socket编程
socket编程: socket 是大多应用层的底层的封装,实际封装的就是 发送,接收,但其实很复杂,在传输层协议之上(TCP/IP,UDP) 既然是网络通讯,一般按照服务端,客户端来处理:服务端: ...
- 89-Relative Vigor Index 相对活力指数指标.(2015.7.4)
Relative Vigor Index 相对活力指数指标 ~计算: RVI = (CLOSE-OPEN)/(HIGH-LOW) RVIsig=SMA(RVI,N) ~思想: 牛市中,收盘>开盘 ...
- C语言基础--自加自减
有如下代码: unsigned int temp1,temp2, i=5,j=5; temp1=i++; temp2=++j; 结果是 temp1=5,temp2=6: i=6,j=6: 版权声明:本 ...