提交时间:2023-11-02 13:43:38

运行 ID: 108372

#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; }