1005 湫湫系列故事——减肥记II
来源:互联网 发布:逆战ak12淘宝多少钱 编辑:程序博客网 时间:2024/05/22 00:19
虽然制定了减肥食谱,但是湫湫显然克制不住吃货的本能,根本没有按照食谱行动!
于是,结果显而易见…
但是没有什么能难倒高智商美女湫湫的,她决定另寻对策——吃没关系,咱吃进去再运动运动消耗掉不就好了?
湫湫在内心咆哮:“我真是天才啊~\(≧▽≦)/~”
可是,大家要知道,过年回家多忙啊——帮忙家里做大扫除,看电影,看小说,高中同学聚餐,初中同学聚餐,小学同学聚餐,吃东西,睡觉,吃东西,睡觉,吃东西,睡觉……所以锻炼得抽着时间来。
但是,湫湫实在太忙了,所以没时间去算一天有多少时间可以用于锻炼,现在她把每日行程告诉你,拜托你帮忙算算吧~
皮埃斯:一天是24小时,每小时60分钟
Input
输入数据包括多组测试用例。
每组测试数据首先是一个整数n,表示当天有n件事要做。
接下来n行,第i行是第i件事的开始时间和结束时间,时间格式为HH:MM。
[Technical Specification]
1. 1 <= n <= 500000
2. 00 <= HH <= 23
3. 00 <= MM <= 59
Output
请输出一个整数,即湫湫当天可以用于锻炼的时间(单位分钟)
Sample Input
1
15:36 18:40
4
01:35 10:36
04:54 22:36
10:18 18:40
11:47 17:53
Sample Output
1256
179
思路引导
构造时间表(筛选法),找出时间表中事件占用时间。若某个时刻有事,则将时间数组的值设为1,否则设0。通过统计时间表中数值为0的时刻点个数。即为湫湫当天可以用于锻炼的时间
解题报告
第一步:用一个大小为1441的数值构造时间表,并用0对其进行初始化。
第二步:输入事件时间段,将时间段转化成数字端,对应数组下标。
第三步:对对应下标段的数组赋值为1,表示此时刻有事。
第四部:统计数组值为1的数的个数,即为湫湫当天可以用于锻炼的时间。
代码
#include <stdio.h>
#define MAX 50001
void fun()
{
int i;
int n;
scanf("%d ",&n);
int count=0;
int t[1441]={0};
int s_h[MAX],s_m[MAX],e_h[MAX],e_m[MAX];
for(i=1;i<=n;i++)
{
scanf("%d:%d %d:%d",&s_h[i],&s_m[i],&e_h[i],&e_m[i]);
int a=s_h[i]*60+s_m[i];//将开始时间转化成数子起点
int b=e_h[i]*60+e_m[i];//将结束时间转化成数子终点
for(int j=a+1;j<=b;j++)//对事件时间做记号
t[j]=1;
}
//统计非事件时间数
for(i=1;i<=1440;i++)
{
if(t[i]==0)
count++;
}
printf("%d\n",count);
}
void main()
{
int T;
scanf("%d",&T);
while(T>0){
fun();
T--;
}
}
- 1005 湫湫系列故事——减肥记II
- HDU4509:湫湫系列故事——减肥记II
- 湫湫系列故事——减肥记II
- 湫湫系列故事——减肥记II
- 湫湫系列故事——减肥记II
- 湫湫系列故事——减肥记II
- HDU 4509 湫湫系列故事——减肥记II 线段树
- Hdu 4509 湫湫系列故事——减肥记II
- HDOJ 4509 湫湫系列故事——减肥记II
- HDU OF 4509 湫湫系列故事——减肥记II
- HDU 4509 湫湫系列故事——减肥记II
- HDU 4509 湫湫系列故事——减肥记II(线段树)
- HDOJ 4509 湫湫系列故事——减肥记II(2013腾讯编程马拉松)
- HDU 4509 湫湫系列故事——减肥记II
- HDU 4509 湫湫系列故事——减肥记II(模拟)
- HDU4509-湫湫系列故事——减肥记II(线段树)
- hdu4509 湫湫系列故事——减肥记II (离散化思想)
- HDU ACM 4509 湫湫系列故事——减肥记II
- iOS UIWebView浏览器控件的简单实现
- MFC中的String Table
- Java中的System类
- Visual Studio 2010——C#的ProgressBar和TrackBar控件的使用
- 通过C#读取ini文件中的内容
- 1005 湫湫系列故事——减肥记II
- Android 制作可独立运行的Android模拟器(2.2,2.3亲测可行)
- 排序算法之冒泡排序:一种优化的冒泡排序算法
- C语言程序设计第三次课堂作业
- 三角形类(2)
- ASP.NET 程序 配置IIS “PC-Computer\ASPNET” 登录失败
- Java 里面方法的形式;
- 【easyUI】<div class="easyui-panel" >
- mallet源码分析之bagging与boosting