1. 程式人生 > >codeves 1214 線段覆蓋

codeves 1214 線段覆蓋

can scan clas ++ cnblogs pre blog clear main

思路:排序之後,對於當前這個ri,看是否能找到li

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 
 4 struct node{
 5     int x,y,z;
 6 }a[2002];
 7 
 8 bool cmp(node p,node q){
 9     if(p.x==q.x) return p.y<q.y;
10     return p.x<q.x;
11 }
12 set<int >ss;
13 int main(){
14     int n;
15     int x,y;
16 cin>>n; 17 int l=0,sum=0; 18 for(int i=1;i<=n;i++){ 19 scanf("%d%d",&x,&y); 20 if(x>y) swap(x,y); 21 a[++l].x=x;a[l].y=1;a[l].z=i; 22 a[++l].x=y;a[l].y=-1;a[l].z=i; 23 } 24 sort(a+1,a+1+l,cmp); 25 int ll=0; 26 for(int i=1
;i<=l;i++){ 27 if(a[i].y==-1&&ss.count(a[i].z)){ 28 sum++;ss.clear(); 29 } 30 else ss.insert(a[i].z); 31 } 32 cout<<sum<<endl; 33 }

codeves 1214 線段覆蓋