程序设计 week14 猫睡觉

网络PTP同步及其verilog实现 说明,该文章主要用来记录IEEE1588文档的学习,方便以后查看使用。 1,数据类型定义 IEEE1588里定义了一些基本数据类型,这些和c语言的数据类型基本一致。如boolean表示一个布尔量,其值为True or False;enumeration4表示一个4bit枚举量;nibble表示一个4bit的字段;integer32表示一个32位的有符号整数。...........................其他数据都是由这些数据构成,需要注意的有:a... 阅读详情

在这里插入图片描述

在这里插入图片描述

Sample Input
12 12 1
23:00-01:00
3 4 3
07:00-08:00
11:00-11:09
19:00-19:59

Sample Output
Yes
1
01:07-22:13
No

解题思路

把时间转换成分钟,好进行比较

设置一个ptp结构体,记录一段开始结束的时间

一开始的输入,记录在rem数组里面
并且按照start的升序排列
并且因为每天的表都是一样的
所以要把第一个番的时间填到最末尾
这样就可以前后2天联系起来

然后找出合法的睡觉时间
记录下来

并且把超出今天的部分,转移到今天开始的地方
并且要把第一个番也放到最后
为了前后2天能联系起来

然后比较是否醒来的时间超时了

最后得出结果

代码实现

#include<iostream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
int A,B,N;


void input(string t,int &t1,int &t2) //转为分钟 
{
	t1 = ( (t[0]-'0')*10+(t[1]-'0') ) * 60 + ((t[3]-'0')*10 + (t[4]-'0'));
	t2 = ( (t[6]-'0')*10+(t[7]-'0') ) * 60 + ((t[9]-'0')*10 + (t[10]-'0'));
	if(t1>t2)
		t2+=24*60;
}

struct ptp{
	int start,end;

	bool operator<(const ptp& p1) const{
		if(start!=p1.start) return start<p1.start;	
	}
};

ptp rem[200];
ptp sleep[200];
int si;
void out(int i);

int main()
{
	while(cin>>A>>B>>N)
	{
		si=1;
		for(int i=1;i<=N;i++)
		{
			string time;
			cin>>time;
			int s,e;
			input(time,s,e);
			rem[i].start=s,rem[i].end=e;
		}
		sort(rem+1,rem+N+1);
		rem[N+1].start = rem[1].start+24*60 , rem[N+1].end = rem[1].end + 24*60; 
		//找出睡觉时间
		for(int i=1;i<=N;i++) 
		{
			if( rem[i+1].start-1 - rem[i].end >= A*60 )
			{
				sleep[si].start = rem[i].end+1 ,sleep[si].end = rem[i+1].start-1;
				si++;
			 } 
		}
		
		for(int i=1;i<=si-1;i++) //把超出今天的,平移到今天的开始位置 
		{
			if(sleep[i].start>24*60&&sleep[i].end>24*60)
			sleep[i].start-=24*60,sleep[i].end-=24*60;
		}
		sort(sleep+1,sleep+si);
		sleep[si].start = sleep[1].start+24*60,sleep[si].end=sleep[1].end+24*60;
		
		bool flag=1;
		//比较醒来的时间,如果超了,就No
		for(int i=1;i<=si-1;i++)
		{
			if(sleep[i+1].start-1 - sleep[i].end > B*60) {
			//	cout<<"No"<<endl;
				flag=0;
				break;
			}
		}
		if(!flag || si==1){
			cout<<"No"<<endl;
		}
		else 
		{
			cout<<"Yes"<<endl;
			cout<<si-1<<endl;
			for(int i=1;i<si;i++)
			out(i);
		}	 
	//	memset(rem,0,sizeof rem);
	//	memset(sleep,0,sizeof sleep);
	}
	return 0;
}

void out(int i)
{
	int s=sleep[i].start,e=sleep[i].end;
	int hour_s = (s/60) %24;
	int min_s = s%60 ;
	int hour_e = (e/60)%24;
	int min_e = e%60;
	
	if(hour_s < 10) {
		cout<<0<<hour_s;
	}
	else {
		cout<<hour_s;
	}
	cout<<":";
	if(min_s < 10) {
		cout<<0<<min_s;
	}
	else {
		cout<<min_s;
	}
	cout<<"-";
	
	if(hour_e < 10) {
		cout<<0<<hour_e;
	}
	else {
		cout<<hour_e;
	}
	cout<<":";
	if(min_e < 10) {
		cout<<0<<min_e;
	}
	else {
		cout<<min_e;
	}
	cout<<endl;
}
ptp与ntp时间戳专题讲解 在二次开发ntp和ptp模块的时候,会有将系统时间转换为ptp时间或者ntp时间,一般初学者会比较迷糊,现将其总结如下 1         Linux时间结构 获取linux系统时间一般有两个函数,获取us级的时间函数和获取ns级的时间函数。一般linux系统时间整数秒从1900年0时0分0秒开始计时,在ptp中启示也是这个值,但是在ntp整数秒计数起时是1970年0时0分0秒,所以在将系统 阅读详情

相关推荐

我用 Claude Code 给 Spring Boot 老项目做了一次代码 Review:查出 4 类隐藏问题

接手 Spring Boot 老项目时,真正麻烦的往往不是编译报错,而是分散在业务代码中的空指针、N+1 查询、异常吞没和并发隐患。本文记录一次使用 Claude Code 辅助代码 Review 的完整流程,并给出提示词、Java 示例、修改方案和人工复核方法。

海波的专栏 399

dpdk mbuf之结构体学习

struct rte_mbuf struct rte_mbuf的源码定义如下,struct rte_mbuf结构体定义的时候,由于成员原来越多,所以有意跨两个cache line大小, 通过MARKER cacheline0和MARKER cacheline1来标示两个cache line, cacheline0到 cacheline1之间的变量都是在cache line 0,原则上将基础性、频繁...

ych的专栏 8669

shader多图叠加变换

shader Shader "Paint3D/AddTexture" { Properties { _MainTex ("Main Texture", 2D) = "white" {} _MainColor("Main Color", Color)=(1,1,1,1) _AddTex0 ("Texture0", 2D) = "white" {} _AddTex1 ("Texture1", 2D) = "white" {} .

李长江的博客 909

程序设计思维与实践 Week14 限时大模拟(猫睡觉问题)

** 猫睡觉问题 ** 题目描述 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能

weixin_44987764的博客 284

【汇编】TSR内存驻留程序实现与删除及热键设置——以实现时钟为例

【汇编】TSR内存驻留程序实现与删除及热键设置——以实现时钟为例 最近完成了一个关于时钟中断驻留的汇编大作业,对于TSR很是感兴趣,查阅了不少资料,发现现在很少相关的内容资料。尤其是TSR删除这一块几乎找不到在低的水平完全正确的做法,下面我对于TSR的删除我会介绍一种几乎小程序可以完成的方法。当然,标题中的TSR实现,热键设置我也会一一介绍。

cly116的博客 3971

uni-app刮奖

uni-app的刮奖效果,要注意的点: 1.小程序的canvas层级问题(可用cover-view规避) 2.不能操作dom 以下是uni-app刮奖效果的代码: <template> <!-- 刮奖 --> <view v-else class="scratch"> <view class="box"> &lt...

qq_40101922的博客 4307

设计自己的每周计划

打开Adobe Illustrator,然后单击“新建” 在“打印”选项卡上选择A4预设,并将方向设置为横向。确保尺寸正确(297×210 mm)并且颜色模式设置为CMYK,因为我们打算打印这项工作 点击这里搜索下载合适资源并打开它 按Ctrl + C(或Mac中的Cmd + C)复制资源并返回到新文档。按Ctrl + V(或Mac中的Cmd + V)粘贴它们并将它们放在画布旁边,这样您就可...

weixin_44173720的博客 337

Microsemi Libero系列教程(全网首发)

关于Libero IDE和Libero SoC Libero分为Libero IDE和Libero SoC,Libero IDE最新版本是v9.2 SP3(2016年4月4日)已经不再更新维护了,而Libero SoC是Libero IDE的升级版,官方推荐的开发工具,文中的Libero指的是Libero SoC。 Libero SoC Libero® SoC是Microsemi(美高森美)官方...

whik1194的博客 2万+

程序设计Week14大模拟——A-猫睡觉问题

A-猫睡觉问题题目描述InputOutput解题思路实现代码总结 题目描述 猫咪要么睡觉,要么醒着,其连续睡眠时间不得少于A小时,同时活动时间不得超过B小时,先给出一个新番时间表,猫咪在新番播出时间必须醒着,安排猫咪睡觉时间。 Input 第一行三个整数A、B、N,1 < = A,B < = 24; 1 < = N < = 20; 接下来n行为时间表,格式为:hh:mm-hh:mm (闭区间) hh:mm 的范围为 00:00 到 23:59。注意一下,时间段是保证不重叠的,但是可能

qq_43371596的博客 312

44位abogus补环境与纯算逆向分析

44位ab参数补环境与纯算加密流程逆向分析

吴秋霖的博客 2779

DJI O2协议物理层逆向工程解析:揭开无人机通信的神秘面纱

DJI的O2协议是其OcuSync传输技术的最新演进,应用于Mini 2、Mavic Air 2、Mavic Air 2s和Mavic 3等无人机模型。这种协议结合了多种先进无线通信技术,能够在远距离提供稳定可靠的低延迟连接。O2协议物理层(PHY)是OSI模型的最底层,负责在物理媒介上传输原始数据比特流。它定义了电气特性、调制方式、编码方案、数据传输速率和同步机制等。DJI O2协议的物理层逆向工程是一个复杂但极具价值的领域。

QQ_778132974的博客 2389

程序设计思维与实践 Week14 猫睡觉问题

题意 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过 B 个小时。

weixin_43851185的博客 222

Windows配置L2TP/IPsec连接

Windows 系统的 L2TP/IPsec 功能,通过配置即可构建加密 VPN 通道。

m0_61806534的博客 1668

程序设计思维与实践 Week14 模拟 A 猫睡觉问题

题目描述: 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过

cax1165 296

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

程序设计思维与实践 Week14 限时大模拟 猫睡觉问题

题目链接:猫睡觉问题 题目描述: 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能

qq_43666020的博客 251

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

程序设计思维 week14 限时大模拟-猫睡觉问题

题目 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过 B 个小时。

噗的博客 224

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

程序设计思维与实践 Week14限时大模拟 A - 猫睡觉问题

问题描述 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过 B 个小时

AcceptedMaybe的博客 364

程序设计思维与实践 Week14 限时大模拟A - 猫睡觉问题

题意 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动超过 B 个小时。

qq_45337415的博客 227

程序设计思维与实践 Week14 限时大模拟

A - 猫睡觉问题题目分析代码 题目 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一

qq_43688155的博客 426

SDU程序设计思维Week14 模拟题-Cat

SDU程序设计思维Week14 模拟题-Cat Description Sample Input: 12 12 1 23:00-01:00 3 4 3 07:00-08:00 11:00-11:09 19:00-19:59 Output: Yes 1 01:07-22:13 No Idea fan结构体表示一段时间,包含开始时间start和结束时间end 获取新番的时间表,将字符串转化成整数 如果某个新番的时段横跨两天(开始时间大于结束时间),则将结束时间加上一天代表第二天的这个时间。 将新番时间表

weixin_44578615的博客 307

【20200522程序设计思维与实践 Week14 限时大模拟&补题】

目录猫睡觉问题题意思路代码 猫睡觉问题 题意 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT

Camlost的博客 377

程序设计思维与实践 Week14 限时模拟

文章目录Problem DescriptionInputOutputSample InputSample OutputIdeaCodes Problem Description There is a cat, cat likes to sleep. If he sleeps, he sleeps continuously no less than A hours. For some strange reason, the cat can not stay awake continuously more th

Xu Pengbo 689

程序设计思维与实践 Week14 限时大模拟 (3/4/数据班) 猫咪睡觉

A - 猫睡觉问题 题意 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○・`Д´・ ○] 可以假设喵喵必须要睡眠连续不少于 A 个小时,即一旦喵喵开始睡觉了,至少连续 A 个小时内(即A*60分钟内)不能被打扰! 现在你知道喵喵很嗜睡了,它一天的时长都在吃、喝、拉、撒、睡,换句话说要么睡要么醒着滴! 众所周知,这只魔法喵很懒,和TT一样懒,它不能连续活动

weixin_43798331的博客 243
上一篇: 程序设计 元素选择器
下一篇: 程序设计课程 总结
Hhhhhhhhh毅
博客等级 码龄7年 7粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值