/*日期:2011-10-22
作者:xiaosi
题目: 区间相交问题(贪心)
*/
#include<iostream>
#include<cstdio>
#include<stdlib.h>
using namespace std;
struct Region
{
int left;
int right;
}R[40001];
int cmp(const void *a,const void *b)
{
struct Region *c = (Region *)a;
struct Region *d = (Region *)b;
return c->right - d->right;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,a,b,count=1,start;
for(i=0;i<n;i++)
{
scanf("%d %d",&a,&b);
if(a>b)
{
R[i].right=a;
R[i].left=b;
}
else
{
R[i].right=b;
R[i].left=a;
}
}
qsort(R,n,sizeof(R[0]),cmp);
start=R[0].right;
for(i=1;i<n;i++)
{
if(start<R[i].left)
{
start=R[i].right;
count++;
}
}
printf("%d\n",n-count);
}
return 0;
}
作者:xiaosi
题目: 区间相交问题(贪心)
*/
#include<iostream>
#include<cstdio>
#include<stdlib.h>
using namespace std;
struct Region
{
int left;
int right;
}R[40001];
int cmp(const void *a,const void *b)
{
struct Region *c = (Region *)a;
struct Region *d = (Region *)b;
return c->right - d->right;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int i,a,b,count=1,start;
for(i=0;i<n;i++)
{
scanf("%d %d",&a,&b);
if(a>b)
{
R[i].right=a;
R[i].left=b;
}
else
{
R[i].right=b;
R[i].left=a;
}
}
qsort(R,n,sizeof(R[0]),cmp);
start=R[0].right;
for(i=1;i<n;i++)
{
if(start<R[i].left)
{
start=R[i].right;
count++;
}
}
printf("%d\n",n-count);
}
return 0;
}