SDNUOJ1012(区间合并)

原创 2016年05月31日 20:04:39

首先写一个结构体,保存区间
对区间开始排序
遍历所有区间,如果begin比上一个小 区间数减一;

#include <stdio.h>
#include <stdlib.h>
struct record
{
    int begin;
    int end;
   /* int flog;*/
} ;
int compare(const void *p1,const void *p2)
{
    struct record *a= (struct record *)p1;
    struct record *b= (struct record *)p2;
    int result=0;
    if(a->begin<b->begin)
        return -1;
    else if(a->begin>b->begin)
        return 1;
    else
        return 0;
}
int main()
{
    struct record t[1010];
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        /*t[i].flog=0;*/
        scanf("%d %d",&t[i].begin,&t[i].end);
    }
    qsort(t,n,sizeof(t[0]),compare);
    /*for(int i=0;i<n;i++)
    {
        printf("%d %d\n",t[i].begin,t[i].end);
    }*/
    int sum=n;
    for(int i=1;i<n;i++)
        for(int j=i-1;j>=0;j--)
        {
            if(t[i].begin<t[j].end)
            {
                sum--;
                //t[i].flog=1;
                break;
            }
        }
        printf("%d\n",sum);
    /*for(int i=0;i<n;i++)
    {
        printf("%d %d %d\n",t[i].begin,t[i].end,t[i].flog);
    }*/
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

BZOJ1012(JSOI2008)[最大数maxnumber]--线段树区间极值

bzoj1012
  • CHNWJD
  • CHNWJD
  • 2017年06月15日 21:25
  • 142

C语言多区间合并的简单实现

  • 2014年05月20日 10:39
  • 4KB
  • 下载

相邻区间合并

  • 2013年04月01日 23:55
  • 799B
  • 下载

[c]sdnuoj 1031 拓扑排序

http://210.44.14.31/problem/show/1031 题目标题:字母排序 题目大意:给出若干两个字母的排序,求能不能算出总的排序 这是个拓扑排序的题,要注意的是需要...

[c]sdnuoj1168 二分和后序遍历的简单应用

http://www.acmicpc.sdnu.edu.cn/problem/show/1168 题目标题:FBI树 题目大意: 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串...

SDNUOJ1011(斯特灵数)

Stirling数的第一类应用 Stirling数两大应用 1. 第一类Stirling数是有正负的,其绝对值是n个元素的项目分作k个环排列的方法数目。常用的表示方法有s(n,k) ,换个较生活...

1012HP打印机驱动

  • 2013年09月23日 15:26
  • 8.55MB
  • 下载

hdu3308 线段树 区间合并

~~ #include #include #include #define lson pos
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SDNUOJ1012(区间合并)
举报原因:
原因补充:

(最多只允许输入30个字)