赞
踩
会议安排问题。有一组会议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
#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;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。