问题标题: 酷町堂:11194 教室排课

0
0
已解决
杨赟安
杨赟安
中级守护
中级守护

某学校有m间教室可用,该学校需要排n节课,(m<n)并且给出了每节课的上课时间和下课时间。一间教室同一时间只能上一节课,由于教室有限,需要合理安排上课时间,使得能安排尽可能多的课程。

#include<bits/stdc++.h>

using namespace std;

int n,m,cnt=0;

struct stu{

int s,e;

}a[255];

bool cmp1(stu &a,stu &b){

return a.e<b.e;

}

int main()

{

cin>>m>>n;

for(int i=1;i<=n;i++) cin>>a[i].s>>a[i].e;

sort(a+1,a+n+1,cmp1);

int y=a[1].e;

for(int i=1;i<=n;i++){

for(int j=1;j<=m;j++){

if(a[i].s>=y&&a[i].e<=y){

y=a[i].e;

cnt++;

}

}

}

cout<<cnt;

return 0;

}

0分

所以高价收购本体思路(或伪代码)


1
已采纳
张百川
张百川
新手光能
新手光能

cmp1改成这样

bool cmp1(stu x,stu y){

        if(x.e!=y.e)return x.e<y.e;

        return x.s>y.s;

}

我要回答