【算法】算法之会议安排问题(C++源码)

【算法】算法之会议安排问题(C++源码)

一、任务描述

会议安排问题。有一组会议A和一组会议室B,A[i]表示第i个会议的参加人数,B[j]表示第j个会议室最多可以容纳的人数。当且仅当A[i] <= B[j]时,第j个会议室可以用于举办第i个会议。给定数组A和数组B,请设计算法计算最多可以同时举办多少个会议。
• 例如,A[]={1,2,3},B[]={3,2,4},结果为3;
• 若A[]={3,4,3,1},B[]={1,2,2,6},结果为2。

二、步骤描述

1、建立A,B数组来存储会议人数跟会议室大小,手动输入会议室人数个数和会议室个数。
2、将两数组sort从小到大排序。
3、若会议室比会议人数大:则会议室下标加一,会议室人数下标加一,count++;若会议室比会议人数小,会议室下标加一。
4、 输出结果count

三、运行结果截图

1
2

四、源代码(C++)

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int i,j,m,A[10],B[10];
    int count=0;
    cout<<"Please enter the number of meetings :";
    cin>>i;
    for(m=0;m<i;m++)
    {
        cout<<"Please enter the number of people in conference room "<<m+1<<" :";
        cin>>A[m];
    }
	cout<<"Please enter the number of meeting rooms :";
    cin>>j;
    for(m=0;m<j;m++)
    {
        cout<<"Please enter the capacity of room "<<m+1<<" :";
        cin>>B[m];
    }
    sort(A,A+i);
    sort(B,B+j);
    for(m=0;m<j;m++)
    {
        if(A[m]<=B[m])
        {
            count++;
        }
    }
    cout<<"Up to "<<count<<" meetings can be held at the same time!"<<endl;
    return 0;
}
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码两年半的练习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值