南阳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首先将体重按升序排列好,再考虑最重的人, ...
随机推荐
- python根据日期返回星期
import time #定义:timedate为时间戳def formattime(timedate,s="%Y-%m-%d %H:%M:%S"): return ...
- JAVA基础——设计模式之简单工厂模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...
- 51nod 1551 集合交易 最大权闭合子图
题意: 市场中有n个集合在卖.我们想买到满足以下要求的一些集合,所买到集合的个数要等于所有买到的集合合并后的元素的个数. 每个集合有相应的价格,要使买到的集合花费最小. 这里我们的集合有一个特点:对于 ...
- BZOJ 4823 Luogu P3756 老C的方块 染色+最小割
题面太长了请各位自行品尝—>老C的方块 分析: 我们要解决掉所有使人弃疗的组合,还要保证花费最小,容易想到最小割(当然你要是想费用流的话,我们就没办法定义流量了) 我们来分析一下那些令人弃疗的组 ...
- Linux环境搭建SVN服务
一.准备工作 首先要保证自己的linux电脑能上外网,我这电脑因为是新的,没有配置网络,所以再这块花费了点时间. 1.检查ip信息 >ifconfig 2.检查DNS服务器 >cat / ...
- mysql explain的使用
一.explain返回各列的含义: 1.table:显示这一行的数据是关于那张表的 2.type:重要的列,显示连接使用了何种类型,从最好到最差的连接类型为const.eq_reg.ref.range ...
- Python之面向对象上下文管理协议
Python之面向对象上下文管理协议 析构函数: import time class Open: def __init__(self,filepath,mode='r',encode='utf-8') ...
- MapReduce架构与执行流程
一.MapReduce是用于解决什么问题的? 每一种技术的出现都是用来解决实际问题的,否则必将是昙花一现,那么MapReduce是用来解决什么实际的业务呢? 首先来看一下MapReduce官方定义: ...
- Final Battle #1 K题 Fire game
Description Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows ...
- 技能CD 效果 shader
技能CD特效 这个效果主要是利用反正切函数完成.atan2(x,y)的返回值是[-PI,PI],这个支持4个象限的反正切函数.关于圆角计算,在上篇文章中有介绍. 现在,我们来看看反正切函数的效果: 在 ...