0
已解决
康曦
中级光能
中级光能
我来送4分题思路啦
这很明显是一道贪心+结构体排序的题目
首先需要定义两个保存两个教室本节课结束时间的变量
然后判断下节课的开始时间是否大于本节课的结束时间
如果是,计数器++,结束时间变成下节课的结束时间
如果不是看看可不可以在另一个教室上
主函数:
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].kkk>>a[i].jjj;
}
int k=0;
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++){
if(a[i].kkk>=k1){
k1=a[i].jjj;
k++;
}
else if(a[i].kkk>=k2){
k++;
k2=a[i].jjj;
}
if(k2>k1) swap(k2,k1);
}
cout<<k;
cmp的排序规则是先按结束时间小的排再按开始时间大的排
(kkk是每节课的时间,jjj是每节课的结束时间,k1是第一个教室本节课的结束时间,k2是第二个教室的)
康曦在2020-10-07 14:59:31追加了内容
顶