首页 > 其他分享 >第六章42

第六章42

时间:2022-11-11 23:15:01浏览次数:47  
标签:纪念品 int 每组 42 整数 最少 分组 第六章

【题目描述】

 

        ACM俱乐部成功举办了月赛,yyfish找来了cherry、CatCage、Ants等众位大牛帮忙负责月赛的纪念品发放工作。为使得参加月赛的同学所获得的纪念品价值相对均衡,他们要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有纪念品,yyfish希望分组的数目最少。

 

你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。

 

【输入】

 

        有n+2行。第1行包含一个整数w(80 ≤ w ≤ 200),为每组纪念品价格之和的上限。第2行是一个整数n(1≤ n ≤ 30000),表示购来的纪念品的总件数。第3~n+2行每行包含一个正整数pi(5 ≤ pi ≤ w),表示所对应纪念品的价格。

 

【输出】

 

       仅一行。包含一个整数,即最少的分组数目。

 

【样例输入】

 

100
9
90
20
20
30
50
60
70
80
90

 

【样例输出】

 

6

#include<stdio.h>
int main()
{
    int max,n,i,j,t;
    scanf("%d\n%d",&max,&n);
    int sum=n;
    int m[n];
    for(i=0;i<n;i++)
    scanf("%d",&m[i]);
    for(i=0;i<n;i++)
    for(j=i;j<n;j++)
    if(m[i]<m[j])
    {
        t=m[i];
        m[i]=m[j];
        m[j]=t;
    }
    for(i=0;i<n;i++)
    for(j=i+1;j<n;j++)
    if(m[i]+m[j]<=max)
    {
        sum--;
        m[j]=max;
        break;
    }
    printf("%d",sum);
    return 0;
}

 

标签:纪念品,int,每组,42,整数,最少,分组,第六章
From: https://www.cnblogs.com/xrj1229/p/16882334.html

相关文章

  • 第六章38
    【题目描述】 现在给你一个从小到大排序的集合,定义其中两个元素的距离为它们在集合中的名次之差的绝对值。给你集合中的两个元素,请计算距离。 【输入】 有多行。......
  • 第六章39
    【题目描述】 在西方,星期五和数字13都代表着坏运气,两个不幸的个体最后结合成超级不幸的一天。所以,不管哪个月的13日又恰逢星期五就叫“黑色星期五”。输入某年年号和该......
  • 第六章40
    【题目描述】 众所周知,Nono是一只喜欢睡懒觉的熊猫。“我曾经也是早睡早起,直到我膝盖中了一箭”,Nono如是解释道。现在Nono又遇到了一个难题:他睡醒了…但是显然,Nono并不......
  • 第六章30
    【题目描述】某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n口油井的油田。从每口油井都要有一条输油管道沿着最短路经(或南或北)与主管道相连。如果给......
  • 第六章31
    【题目描述】对数组a[10]中的十个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组 a 中元素的顺序,并且相同的整数要具有相同的编号。【输入】仅一行。......
  • 第六章32
    【题目描述】对数组a[10]中的十个整数从小到大进行连续编号,输出各个元素的编号。要求不能改变数组 a 中元素的顺序,并且相同的整数要具有相同的编号。【输入】仅一行。......
  • 第六章33
    【题目描述】 给定一系列整数,对所有整数的每一位数字统计0~9各个数字的出现次数,求出现次数最多的数字。 【输入】 有两行,第1行是整数n(1≤n≤100),表示有n个整数;第2......
  • 第六章34
    【题目描述】 小明最近要负责图书馆的管理工作,需要记录下每天读者的到访情况,每位读者有一个编号,每条记录用读者的编号来表示,给出读者的来访纪录,请问每一条记录中的读者......
  • 第六章35
    【题目描述】 求出 2 到 n 之间 (含 n)的所有素数。 【输入】 仅一行。一个正整数n(2<n≤10000)。 【输出】  有两行。第1行是一个整数,表示素数的个数......
  • 第六章36
    【题目描述】 进入石油大学南大门,长度为L的马路东边有一排树,每两棵相邻的树之间的间隔都是1米。如果把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上......