【ACM】nyoj_14_会场安排问题_201308151955
会场安排问题
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。
输入
第一行是一个整型数m(m<100)表示共有m组测试数据。
每组测试数据的第一行是一个整数n(1<n<10000)表示该测试数据共有n个活动。
随后的n行,每行有两个正整数Bi,Ei(0<=Bi,Ei<10000),分别表示第i个活动的起始与结束时间(Bi<=Ei)
输出
对于每一组输入,输出最多能够安排的活动数量。
每组的输出占一行
样例输入
2
2
1 10
10 11
3
1 10
10 11
11 20
样例输出
1
2
提示
注意:如果上一个活动在t时间结束,下一个活动最早应该在t+1时间开始
思路:
贪心算法,这个题中再次用到了qsort排序。对结束的时间进行排序,然后再进判断。如果后一个的开始时间大于前一个的结束时间,那么计数器就加一。思路就是这样的,下面就是实现这个函数。先定义一个结构体把开始时间和结束时间进行储存。
#include <stdio.h>
#include <stdlib.h>
typedef struct Node{
int a;
int b;
}Node;
Node s[10100];
int cmp(const void *a,const void *b)
{
return (*(Node *)a).b - (*(Node *)b).b;
}
int main()
{
int N;
scanf("%d",&N);
while(N--)
{
int i,j,m,num,t;
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d %d",&s[i].a,&s[i].b);
qsort(s,m,sizeof(s[0]),cmp);
num=1;t=s[0].b;
for(i=1;i<m;i++)
{
if(s[i].a<=t)
continue;
else
{
num++;
t=s[i].b;
}
}
printf("%d\n",num);
}
return 0;
}
【ACM】nyoj_14_会场安排问题_201308151955的更多相关文章
- 【ACM】会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- ACM 会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- nyoj 14 会场安排问题(贪心专题)java
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- nyoj 14 会场安排问题(贪心专题)
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- nyoj 14 会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- 会场安排问题--nyoj题目14
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- NYOJ 14 会场安排问题(也算是经典问题了)
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工作就 ...
- ny14 会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- nyoj 题目14 会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
随机推荐
- 【RAID在数据库存储上的应用 】
随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...
- Win7 + VS2015 + Python3.6编译
0. 下载安装hg. http://bitbucket.org/tortoisehg/files/downloads/tortoisehg-4.0.1-x64.msi 1. 下载Python3.6源代 ...
- jmeter 3.x plugins 的使用
JMeter Plugins 一直以来,JMeter Plugins为我们提供了很多高价值的JMeter插件,比如: 用于服务器性能监视的PerfMon Metrics Collector 用于建立压 ...
- ACM_三元一次函数解法(克莱姆法则)
三元一次函数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 计算三元一次函数..如图 Input: EOF,先输入n,表示样例个 ...
- 自定义View(8)关于measure->onMeasur->setMeasuredDimension及getDefaultSize,resolveSizeAndState
参考: http://www.cnblogs.com/xiaorenwu702/p/5185436.html 当外层容器组件调用其内部的某个组件view1.measure(xxx)时,view1的on ...
- 安装office1406错误!!!急死个人。。。。。
因为用到Microsoft.Office.Interop.Word,将word转PDF.所以在服务器上需要安装office,但是报错1406,不能将值插入注册表..... 然后百度各种问题,说需要将注 ...
- Html基础学习(基于W3school网络教程)
//防止乱码 head中加入 <meta http-equiv="Content-Type" content="text/html; charset=utf-8&q ...
- 实现X*N
#include<iostream> using namespace std; double foo(int n,double x) { if(1==n) { return x; } el ...
- mysql中的各种concat
引用:http://www.cnblogs.com/appleat/archive/2012/09/03/2669033.html 一.CONCAT()函数CONCAT()函数用于将多个字符串连接成一 ...
- 前端开发之旅-zopim在线即时聊天客服
一.与潜在客户实时聊天的神奇-zopim Zopim是一款高效的可嵌入网页中去的即使通讯与网站访客信息追踪的的Web软件.知道谁在访问您的网站吗?想和他们实时交流吗?想更有效的把握商机吗?使用Zopi ...