教室规划问题
测试数据 12组

12 0 3 2 5 4 7 3 8 6 10 8 10 9 11 11 15 12 15 10 13 13 17 15 18
代码:

#include<iostream> #include<algorithm> using namespace std; struct sa{ int x,y; }data[100]; int cmp(const sa &a,const sa &b){ return a.y<b.y; } int main() { int n,sum; sa tmp; while(cin>>n){ for(int i=0;i<n;i++) cin>>data[i].x>>data[i].y; sort(data,data+n,cmp); sum=1; tmp=data[0]; for(int i=1;i<n;i++) { if(tmp.y<=data[i].x){ sum++; tmp=data[i]; } } cout<<sum<<endl; } }
按照结束的时间进行排列,当后一个任务开始时间大于前一个任务的结束时间,sum++
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步