区间相交问题(贪心)
2011-10-22 09:29
253 查看
/*日期: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;
}
相关文章推荐
- 贪心——区间覆盖问题之最大不相交覆盖问题
- ACMjava经典贪心区间问题,区间选点,不相交区间,区间覆盖
- 初入算法篇(贪心) 最多不相交区间问题HDU2037+FOJ1230
- 贪心算法之最大不相交区间数问题
- 选择不相交区间(活动安排问题)(贪心)(HDU2037)
- 8602 区间相交问题(贪心)
- 贪心:区间相交问题
- HDU 2037 今年暑假不AC (贪心---求最多不相交区间问题)
- 选择不相交区间问题 (贪心)
- 区间相交问题(贪心入门)
- 贪心(1)选择不相交区间的问题
- 区间相交问题(贪心)-算法设计与分析
- UVALive 2326 Moving Tables(贪心+不相交区间问题)
- ZOJ 1076 Gene Assembly (贪心求区间不相交问题)
- 区间相交问题(贪心)
- Num 25 : NYOJ0014 会场安排问题 + HDOJ2037:今年暑假不AC [ 贪心 ][ 选择不相交区间 ]
- FOJ1230 区间相交问题(贪心)
- poj 1328 Radar Installation 【贪心】【区间选点问题】
- 区间相交问题
- NOIP 2010 T4 浅谈如何“引水入城”,泛洪填充法BFS架构FLOODFILL及一类区间覆盖问题贪心求法