ccpc 2050 B 时间间隔

本文介绍了一种计算从特定时间到2050年1月1日0点0时0分相差秒数的算法,并通过模运算简化计算,特别关注分钟和秒的转换。

Problem Description

2019年1月1日,在云栖出现了可能是全世界最长的以秒为单位的倒计时装置:九亿多秒倒计时,直到2050年。

给出一个时间S,我们想知道S距离2050年1月1日0点0时0分多少秒。

因为答案可能很大,请输出答案模100的值。

 

 

Input

第一行一个正整数 T (1≤T≤100000) 表示数据组数。

对于每组数据,一行一个字符串表示时间。
时间格式为:YYYY-MM-DD HH:MM:SS,分别表示年、月、日、时,分、秒。

输入的时间保证都在2019年1月1日以后(包含当天)。

 

 

Output

对于每组数据输出一行一个整数表示答案。

 

 

Sample Input


 

1 2019-01-01 00:00:00

 

 

Sample Output


 

0

 

 

Source


 

Test Contest

思路:请注意答案是%100的,一个小时有3600分钟,3600%100=0,因此年份、月份、日期、小时都是没有用的,读取分钟和秒钟即可。

#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;

string s;

int main()
{
	int t;
	scanf("%d",&t);
	getchar();
	int h,m,se;
	while(t--)
	{
		getline(cin,s);
		m=(s[14]-48)*10+s[15]-48;
		se=(s[17]-48)*10+s[18]-48;
		printf("%d\n",(3600-(m*60+se))%100);
	}
	return 0;
}

 

基于STM32F103RET6,FreeRTOS,高级定器输出6路PWM波,驱动DRV8312,六步换相的方式驱动BLDC电机,1个任务: 实现条件: 三个霍尔A/B/C输入连接到TIM3定器输入捕获引脚,要求每次任一霍尔输入上发生变化之后的一个指定的刻,改变高级控制定器TIM1的PWM配置。 定器3配置如下: 1.置TIM3_CR2寄存器的TI1S位为’1’,配置三个定器输入逻辑异或到TI1输入 2.基编程:置TIMx_ARR为其最大值(计数器必须通过TI1的变化清零)。设置预频器得到一个最大的计数器周期,它长于传感器上的两次变化的时间间隔 3.设置通道1为捕获模式(选中TRC):置TIM3_CCMR1寄存器中CC1S=01,如果需要,还可以设置数字滤波器 4.设置通道2为PWM2模式,并具有要求的延:置TIMx_CCMR1寄存器中的OC2M=111和 CC2S = 00 5.选择OC2REF作为TRGO上的触发输出:置TIMx_CR2寄存器中的MMS=101 在高级控制寄存器TIM1中,正确的ITR输入必须是触发器输入,定器被编程为产生PWM信号,捕获/比较控制信号为预装载的(TIMx_CR2寄存器中CCPC=1),同触发输入控制COM事件( TIMx_CR2寄存器中CCUS=1)。 注意:库中可以设置为软件更新(CCUS=0,然后在换向后用软件产生一个COM事件),也可以触发更新(CCUS=1,既可以软件产生COM事件更新高级定器的参数,也可以触发输入TRGI的上升沿更新高级定器的参数) 在一次COM事件后,写入下一步的PWM控制位(CCxE、OCxM),这可以在处理OC2REF上升沿的中断子程序里实现。 引脚配置如下: 1.PA8映射TIM1_CH1,与DRV8312的PWM_A引脚相连接 2.PA9映射TIM1_CH2,与DRV8312的PWM_B引脚相连接 3.PA10映射TIM1_CH3,与DRV8312的PWM_C引脚相连接 4.PB13映射TIM1_CH1N,与DRV8312的RESET_A引脚相连接 5.PB14映射TIM1_CH2N,与DRV8312的RESET_B引脚相连接 6.PB15映射TIM1_CH3N,与DRV8312的RESET_C引脚相连接
05-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值