南阳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首先将体重按升序排列好,再考虑最重的人, ...
随机推荐
- oracle优化器使用(oracle11g)
一:优化器介绍 优化器(optimizer)是oracle数据库内置的一个核心子系统.优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前的情形下的最高效的执行路径,也就是为了得到目标SQL ...
- webstorm下开发微信小程序
- 对散列进行sort排序,只是会产生一个顺序,但这顺序和初始化时的顺序不一致
109 my $slice_layouts; 110 my $vertical_assignment; 111 my %map_function_indices = ( 112 ...
- 借助百度地图API制作企业百度地图
做网站需要插入地图,可以借助百度地图API,具体步骤如下: 1.打开百度地图API的网址: http://api.map.baidu.com/lbsapi/creatmap/ 2.设置中心点 3. ...
- Unexpected token d in JSON at position 669 while parsing near '...ct-mode":"^6.0.2"}
问题 在安装 babel 的时候,遇到问题 Unexpected token d in JSON at position 669 while parsing near '...ct-mode" ...
- 诊断:ORA-00376 & ORA-01110
现象: Errors in file /path/of/diag/rdbms/prod/PROD/trace/PROD_ora_13447.trc: ORA-00376: 此时无法读取文件 61 OR ...
- PHP明细之间的关联和having进行分组,不推荐这样做,只是做为偷懒的办法
-- 只求和wrt的数据,其它数据保持不变!SELECT A.return_id,A.relevant_id,A.order_id,A.deliver_order_id,A.product_id,A. ...
- Linux终端以及bash
目 录 第1章 Linux系统终端概述 1 1.1 图形化 1 1.2 字符终端 1 1.3 who和w 1 1.3.1 who 1 1.3.2 w 1 1.3.3 ...
- Python面试快问快答,理论要的就是速度与精准,Python面试题No2
今天的面试题 第1题:python2和python3的range(100)的区别 range()函数的含义 range函数是一个用来创建算数级数序列的通用函数,返回一个[start, start + ...
- C语言学习3
实现输入错误后重新输入 通过输入指定的行数和列数打印出二维数组对应的任一行任一列的值: #include <stdio.h> void main() { ][] = {{, , , },{ ...