ny14 会场安排问题
会场安排问题
- 描述
- 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办。小刘的工作就是安排学校小礼堂的活动,每个时间最多安排一个活动。现在小刘有一些活动计划的时间表,他想尽可能的安排更多的活动,请问他该如何安排。
- 输入
- 第一行是一个整型数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
AC代码#include<stdio.h>
#include<string.h>
int main()
{
int n,t,x,y,max,min,i,j,m;
int a[100005];
scanf("%d",&m);
while(m--)
{
memset(a,0,sizeof(a));
scanf("%d",&t);
max=0;n=t;
for(i=0;i<t;i++)
{
scanf("%d%d",&x,&y);
if(a[y]!=0)
{
if(x>a[y])
a[y]=x;//相当于按结束时间进行排序
}
else a[y]=x;
}for(i=0;i<=10000;i++)
if(a[i]!=0)
{min=i;break;}for(i=min;i<=10000;i++)
if(a[i]>min && a[i]!=0)
{
min=i;
max++;
}
printf("%d\n",max+1);//1是第一个节目;
}
return 0;
}按照杭电上的2037 “今年暑假不AC”,超时了
#include<stdio.h>
int main()
{
int n,t,x,y,max,min,i,j,m;
int a[100005],b[100005];
scanf("%d",&m);
while(m--)
{ scanf("%d",&t);
max=0;n=t;
for(i=0;i<t;i++)
scanf("%d%d",&a[i],&b[i]);
for(j=0;j<n-1;j++)//对末尾的时间进行排序,开始的时间也随之变化着,
for(i=0;i<n-1-j;i++)
if(b[i]>b[i+1])
{
x=a[i];a[i]=a[i+1];a[i+1]=x;
y=b[i];b[i]=b[i+1];b[i+1]=y;
}
//for(i=0;i<t;i++)
// printf("%d ",b[i]);
min=b[0];//排完序后,第一个结束的时间是最小的,所以第一个节目肯定要看,然后如果下一次的开始时间,小于说所录的最小的结束时间,则观看这个节目,
for(i=1;i<n;i++)
if(a[i]>min)
{
min=b[i];//最小的是节目结束的时间,不断的变化着;
max++;
}
printf("%d\n",max+1);//1是第一个节目;
}
return 0;
}
ny14 会场安排问题的更多相关文章
- nyoj 14 会场安排问题(贪心专题)java
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- nyoj 14 会场安排问题(贪心专题)
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- ACM 会场安排问题
会场安排问题 时间限制: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 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工作就 ...
- 【ACM】会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- nyoj 题目14 会场安排问题
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
- [nyoj]会场安排问题-贪心
会场安排问题 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 学校的小礼堂每天都会有许多活动,有时间这些活动的计划时间会发生冲突,需要选择出一些活动进行举办.小刘的工 ...
随机推荐
- shell中如何取括号中的字符
1. 使用grep(结果带括号,不知道有没有办法仅把括号中的内容匹配出来) $a='abc[edg]adfirpqu' $echo $a|grep -o '\[.*\]' #中括号的处理需要转义 [e ...
- Spring Boot 中 Controller 使用
1.属性配置 2.Controller使用 2.@PathVariable 与 @RequestParam 的区别 (1)@PathVariable (2)@RequestParam 3.@GetMa ...
- javaScriptObject转String
function obj2str(o){ var r = []; if(typeof o =="string") return "\""+o.repl ...
- windows2003密码忘记了该如何处理
如果你有sql server的管理员帐号,并且可以登录,尝试用下面的方法: --用管理员连接sql,在查询分析器中执行: --添加用户 exec mas ...
- CentOS7 查看硬盘情况
lsblk 查看分区和磁盘 df -h 查看空间使用情 ...
- Oracle常见的异常处理
总结了在操作数据库的时候常常遇见的Oracle异常以及处理方法. 代码 提示 备注 一般处理方法 ORA-01861 文字与格式字符串不匹配- ORA-00904 invalid column nam ...
- Linux 添加硬盘设备
fdisk命令用于管理磁盘分区,格式为:“fdisk [磁盘名称]”. 管理Linux系统中的硬盘设备最常用的方法就当属是用fdisk命令了,这条命令提供了添加.删除.转换分区等等功能于一身的“一站式 ...
- 玩转Masonry JS库来实现瀑布流Web效果
工作项目中需要制作个Mobile上的Web App的展示,方便快捷访问和评价反馈.在展示页面能看到应用展示图,点击进入Web应用.我不是前端开发者,对HTML, CSS, JS这三剑客仅仅是略知一二. ...
- A class file was not written. The project may be inconsistent, if so try refreshing this project and building it. eclipse提示错误
感觉很奇怪,查看了一下磁盘,发现workspace所在磁盘已经满了,删除一些文件之后,选择项目->Project->Clean...->选择Clean all projects-&g ...
- Linux内核(4) - 内核学习的心理问题
对于学习来说,无论是在学校的课堂学习,还是这里说的内核学习,效果好或者坏,最主要取决于两个方面——方法论和心理.注意,我无视了智商的差异,这玩意儿玄之又玄,岔开了说,属于迷信的范畴. 前面又是Kern ...