SDNUOJ1012(区间合并)
2016-05-31 20:04
232 查看
首先写一个结构体,保存区间
对区间开始排序
遍历所有区间,如果begin比上一个小 区间数减一;
对区间开始排序
遍历所有区间,如果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; }
相关文章推荐
- C#中struct和class的区别详解
- 深入剖析C++中的struct结构体字节对齐
- C++ 关于STL中sort()对struct排序的方法
- C# Struct的内存布局问题解答
- 深入C++中struct与class的区别分析
- 浅析c与c++中struct的区别
- c++中struct使用注意事项
- 深入解析C#编程中struct所定义的结构
- 浅析内存对齐与ANSI C中struct型数据的内存布局
- php读取二进制流(C语言结构体struct数据文件)的深入解析
- 详解C++程序中定义struct结构体的方法
- Go语言struct类型介绍
- 在Python的struct模块中进行数据格式转换的方法
- Python struct模块解析
- Go语言中struct的匿名属性特征实例分析
- 优化结构体中元素的布局
- ext关于session失效的处理
- Python 10.4 struct
- typedef struct与struct的区别
- Linux C中struct tm结构与time_t相互转换