3 solutions
-
5
#include <bits/stdc++.h> using namespace std; struct act{ int st,ed; }a[1005]; int cnt,t; bool cmp(act b,act c){ return b.ed < c.ed; } int main(int argc, char **argv){ int n; cin >> n; for (int i = 0;i < n;i++){ cin >> a[i].st >> a[i].ed; } sort(a,a + n,cmp); for(int i = 0;i < n;i++){ if (a[i].st >= t){ t = a[i].ed; cnt++; } } cout << cnt; return 0; }
-
2
#include<bits/stdc++.h> using namespace std; struct ji{ int s_t; int e_t; }; ji ni[1145]; bool codm(ji a, ji b){ return a.e_t < b.e_t; } int main(){ int n; cin >> n; for(int i = 0 ;i < n; i++){ cin >> ni[i].s_t >> ni[i].e_t; } sort(ni, ni + n, codm); int cnt = 0; int cuagain = 0; for(int i = 0 ; i < n; i++){ if(ni[i].s_t >= cuagain){ cnt++; cuagain = ni[i].e_t; } } cout << cnt << endl; return 0; }
-
-7
#include<iostream> #include<algorithm> using namespace std; struct huodong{ int begin; int end; }; huodong a[int(1e6)]; bool c(huodong a,huodong b){ return a.end<b.end; } int main(){ int n; cin>>n; for(int i=0;i<n;i++) cin>>a[i].begin>>a[i].end; sort(a,a+n,c); int t=0; int sum=0; for(int i=0;i<=n;i++) if(a[i].begin>=t){ sum++; t=a[i].end; } cout<<sum; }
- 1
Information
- ID
- 808
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 6
- Tags
- # Submissions
- 113
- Accepted
- 39
- Uploaded By