Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
108372 | 陈志轩 | 电视节目安排 | C++ | 通过 | 100 | 3 MS | 248 KB | 663 | 2023-11-02 13:43:38 |
#include<bits/stdc++.h> using namespace std; int fend; struct Backpack{ int sta,end; bool operator < (const Backpack &q) const{ return end < q.end; } }s[1000005]; void slove(int n){ int sum = 0; for (int i = 1;i <= n;i++){ cin>>s[i].sta>>s[i].end; } sort(s + 1,s + n + 1); for (int i = 1;i <= n;i++){ if (i == 1){ fend = s[i].end; sum++; } else{ if (s[i].sta >= fend){ sum++; fend = s[i].end; } } } cout<<sum<<endl; return ; } signed main(){ int n; while (cin>>n){ if (n == 0){ break; } slove(n); } return 0; }