71-独木舟上的旅行

      内存限制:64MB
      时间限制:3000ms
      特判: No
      通过数:10
      提交数:15
      难度: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 分析:
  1、排完序后,从两边开始向中间贪心;
  2、两端之和小于总重,两端共同向中心靠近一步,否则就是大的那点向中心靠近
  PS:输入、输出要注意数据类型 核心代码:
 while(i <= j)
{
if(A[i] + A[j] <= max_weight)
{
++ i, -- j;
++ cnt;
}
else
{
++ i;
++ cnt;
}
}

C/C++代码实现(AC):

 #include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <stack>
#include <map>
#include <queue>
#include <set> using namespace std;
const int MAXN = ;
int A[MAXN]; int main()
{
int t;
scanf("%d", &t);
while(t --)
{
int max_weight, n, cnt = , i = , j;
scanf("%d%d", &max_weight, &n);
for(int i = ; i < n; ++ i)
scanf("%d", &A[i]);
sort(A, A+n,greater<int>());
j = n-; while(i <= j)
{
if(A[i] + A[j] <= max_weight)
{
++ i, -- j;
++ cnt;
}
else
{
++ i;
++ cnt;
}
}
printf("%d\n", cnt);
}
return ;
}

最新文章

  1. Go语言 获取get、post参数
  2. 《30天自制操作系统》03_day_学习笔记
  3. bzoj1013
  4. Deep Learning(深度学习)学习笔记整理系列之(五)
  5. asp.net中application,cookies,stateview,session的使用
  6. AIR 程序开发系列 之五 保存数据的几种方式
  7. 在Jersey中如何处理泛型集合
  8. Servlet的一些细节(1)
  9. FTP下文件夹权限的设置755,766,777,644代表什么意思
  10. IIS启动网站
  11. oracle scn浅析
  12. Fckeditor用法
  13. Oracle利用存储过程性 实现分页
  14. 任务调度---crontab
  15. Uva 1599 Ideal Path - 双向BFS
  16. Swift类型推测在可选调用中的小提示
  17. webpack.config.js配置文件
  18. cookie记录横向滚动条位置
  19. How to disable transparent hugepages (THP) on Red Hat Enterprise Linux 7
  20. [转摘]VMware下Windows系统出现大量可删除ATA Channel的解决办法

热门文章

  1. PageObjec页面对象模式(理论)
  2. {每日一题}:tcp协议实现简单的文件下载器(单任务版)
  3. 2019.10.26 CSP%您赛第三场
  4. Centos中查找文件、目录、内容
  5. 百万年薪python之路 -- 内置函数二 -- 最常用的内置函数
  6. 巨杉Tech | SequoiaDB数据域及存储规划
  7. 再谈 APISIX 高性能实践
  8. Prometheus(二):Prometheus 监控Windows机器
  9. PHP通过JSON给JS赋值;JS通过JSON给PHP传值
  10. DRF之认证组件、权限组件、频率组件使用方法总结