//区间相交问题
int n;
struct node
{
int x,y;
bool operator<(const node &s)const
{
if(y!=s.y) return y<s.y;
return x<s.x;
}
}a[100];
int main()
{
cin>>n;
int ans=0;
for(int i=0;i<n;i++)
{
cin>>a[i].x>>a[i].y;
if(a[i].x>a[i].y) swap(a[i].x,a[i].y);
}
int left=a[0].x,right=a[0].y;
for(int i=1;i<n;i++)
{
if((a[i].x>=left && a[i].x<=right) || (a[i].y>=left && a[i].y<=right) || (a[i].x<=left && a[i].y>=right))ans++;
else left=a[i].x,right=a[i].y;
}
cout<<ans<<endl;
return 0;
}
/*
Input:
3
10 20
10 15
20 15
Output:
2
*/
区间相交问题(贪心)-算法设计与分析
最新推荐文章于 2019-10-15 19:14:17 发布