hihocoder1477 闰秒

地址:http://hihocoder.com/problemset/problem/1477

题目:

闰秒

时间限制:10000ms
单点时限:1000ms
内存限制:256MB

描述

计算机系统中使用的UTC时间基于原子钟,这种计时方式同“地球自转一周是24小时”的计时方式有微小的偏差。为了弥补这种偏差,我们偶尔需要增加一个“闰秒”。  

最近的一次闰秒增加发生在UTC时间2016年的最后一天。我们在2016年12月31日23时59分59秒和2017年1月1日0时0分0秒之间增加了这样一秒:2016年12月31日23时59分60秒,记作2016-12-31 23:59:60。  

目前一共增加了27次闰秒,具体添加的时间见下表:

给出两个时间,请你判断在考虑闰秒的情况下,这两个时间间隔多少秒。  

输入

两个时间各占一行,格式是yyyy-MM-dd HH:mm:ss,范围在1970-01-01 00:00:00至2017-03-12 23:59:59之间。保证第一个时间不晚于第二个时间。

输出

两个时间间隔多少秒。

样例输入
2016-12-31 23:59:59 
2017-01-01 00:00:00
样例输出
2
思路:没啥好说的,大模拟!见代码吧!
 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 
 5 #define PB insert
 6 typedef long long LL;
 7 typedef pair<int,int> PII;
 8 const double eps=1e-8;
 9 const double pi=acos(-1.0);
10 const int K=1e6+7;
11 const int mod=1e9+7;
12 
13 struct Time
14 {
15     int y,m,d,h,mi,s;
16     void read(void)
17     {
18         scanf("%d-%d-%d %d:%d:%d",&y,&m,&d,&h,&mi,&s);
19     }
20 }st,se;
21 set<int>six,dece;
22 int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
23 void init(void)
24 {
25     st.read(),se.read();
26     six.PB(1972),six.PB(1981),six.PB(1982),six.PB(1983);
27     six.PB(1985),six.PB(1992),six.PB(1993),six.PB(1994);
28     six.PB(1997),six.PB(2012),six.PB(2015);
29     dece.PB(1972),dece.PB(1973),dece.PB(1974),dece.PB(1975);
30     dece.PB(1976),dece.PB(1977),dece.PB(1978),dece.PB(1979);
31     dece.PB(1987),dece.PB(1989),dece.PB(1990),dece.PB(1995);
32     dece.PB(1998),dece.PB(2005),dece.PB(2008),dece.PB(2016);
33 }
34 bool check(int x)
35 {
36     return (x%4==0&&x%100!=0)||x%400==0;
37 }
38 int cal(Time &x)
39 {
40     int ans=0;
41     for(int i=1;i<x.m;i++)
42         ans+=day[i]*24*60*60;
43     if(check(x.y)&&2<x.m)   ans+=24*60*60;
44     ans+=(x.d-1)*24*60*60;
45     ans+=x.h*60*60;
46     ans+=x.mi*60;
47     ans+=x.s;
48     if(six.find(x.y)!=six.end()&&6<x.m)ans++;
49     return ans;
50 }
51 int main(void)
52 {
53     int ta,tb,ans=0;
54     ta=365*24*60*60;
55     tb=366*24*60*60;
56     init();
57     for(int i=st.y;i<se.y;i++)
58     {
59         if(check(i))    ans+=tb;
60         else    ans+=ta;
61         if(six.find(i)!=six.end()) ans++;
62         if(dece.find(i)!=dece.end())    ans++;
63     }
64     ans-=cal(st);
65     ans+=cal(se);
66     cout<<ans<<endl;
67     return 0;
68 }

 

转载于:https://www.cnblogs.com/weeping/p/6541405.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429549.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#命名空间namespace中不能直接包含字段(变量)或方法(函数)之类的成员

C#命名空间即namespace中不能直接包含字段&#xff08;变量&#xff09;或方法&#xff08;函数&#xff09;之类的成员&#xff0c;须将字段或方法放到类class中&#xff0c;否则编译器会报错。 C#命名空间中不能直接定义字段&#xff08;变量&#xff09;&#xff1a; 将val…

Lucene实战之初体验

前言 最早做非结构化数据搜索时用的还是lucene.net&#xff0c;一直说在学习java的同时把lucene这块搞一搞&#xff0c;这拖了2年多了&#xff0c;终于开始搞这块了。 开发环境 idea2016、lucene6.0、jdk1.8 使用lucene准备条件 1、pom.xml 2、测试数据。 我从博客园首页拿了几…

C#中变量(成员变量、局部变量、全局变量)的作用域

不管在任何编程语言中都有变量的定义&#xff0c;变量就像是一个容器&#xff0c;不同的变量会在内存中占据不同大小的内存空间。定义变量后会将分配的地址绑定在这个变量名上&#xff0c;以后对该变量名的操作就是对该内存地上存储内容的操作。 namespace test {class myTest…

Servelt中的ServletContext对象

转载于:https://www.cnblogs.com/yxh-only/p/6548046.html

export function函数传参_从底层看前端(七)—— JavaScript到底有多少种函数?

在上篇文章中我们了解到了执行上下文是什么&#xff0c;也知道了任何语句的执行都会依赖特定的上下文。一旦上下文被切换&#xff0c;整个语句的效果可能都会发生变化。那么&#xff0c;切换上下文的时机就显得非常重要。在JavaScript中&#xff0c;切换上下文最主要的场景就是…

liunx常用命令0

1 开启Linux操作系统&#xff0c;要求以root用户登录GNOME图形界面&#xff0c;语言支持选择为汉语 点击“未列出&#xff1f;”-->输入root和密码 2 使用快捷键切换到虚拟终端2&#xff0c;使用普通用户身份登录&#xff0c;查看系统提示符 ctrlaltf2 3 使用命令退出虚拟终…

2个td合成一个td_18个月16个爆款,合成类玩法的下一个机会在哪?

18个月16个爆款&#xff01;近日&#xff0c;编者体验了近18个月爆款小程序榜单之中的游戏&#xff0c;体验之后编者发现&#xff0c;在这200多款游戏中&#xff0c;有16款都应用了合成类玩法&#xff0c;而且部分游戏是数次登榜&#xff0c;比如枪火工厂、全民养鲲、世界争霸等…

在线代码图片生成工具carbon

在日常工作中时常需要和同事间进行代码的沟通和交流&#xff0c;有时只是需要讨论某一段代码的内容&#xff0c;因此不必将整个文件发给同事。通常可以将部分代码进行截图&#xff0c;或者直接将部分代码复制粘贴发送给同事。但以上方法或因为代码太长需要多次截图&#xff0c;…

antd 日期时间选择_Excel最全时间类函数总结,有必要收藏一下哦

Excel数据格式中&#xff0c;一共分十一类&#xff0c;其中两类分别是日期与时间。Excel中存在大量公式用于处理这两个类型的数据&#xff0c;下面一一介绍与之相关的函数。年月日函数Excel函数中分别用year()、month()、day()函数返回一日期的年、月、日&#xff0c;这三个函数…

C#中的变量类型(值类型、引用类型)

C#中的变量类型&#xff1a; 值类型&#xff1a;值类型直接存储的是变量的值&#xff0c;变量空间在栈上分配&#xff0c;分配速度比较快。给变量赋值时需注意变量类型的取值范围&#xff0c;给变量赋不合理的值会导致编译器报错。布尔类型的变量只有两种可选择的值true/false&…

Java:IDEA下使用JUNIT

单元测试的基本使用 一、环境配置 使用idea IDE 进行单元测试&#xff0c;首先需要安装JUnit 插件。 1.安装JUnit插件步骤 File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。 2.使用JUnit插件 在需要进行单元测试…

arcore之路-unity开发从入门到实践_Unity游戏开发——单例模式的最佳实践

0.前言StarryFun&#xff1a;Unity游戏开发——关于单例模式的理解​zhuanlan.zhihu.com之前一篇文章讲了单例模式的简单理解&#xff0c;自知其中有很多不严谨的地方&#xff0c;由于本萌新也是在学习阶段&#xff0c;所以去翻看了开源的项目都是怎么实现的&#xff0c;发现了…

光耦的简介

光耦&#xff0c;光电耦合器的简称&#xff0c;它是以光信号作为介质传输电信号的元器件。光耦的输入端和输出端信号可以非常好的进行隔离&#xff0c;因此在隔离电路中经常会见到光耦。光耦合器一般由三部分组成&#xff1a;光的发射、光的接收及信号放大。输入的电信号驱动发…

接待员如何向客人upsell_客房留言卡也能收获好评,看看高情商酒店如何做的?...

客人对酒店最客观的评价从点评中就能看到&#xff0c;那酒店服务如何才能被客人看到呢&#xff1f;可不可以通过一张留言卡&#xff0c;被客人感知到呢&#xff1f;本文整理了多个客房服务实际场景案例&#xff0c;帮助酒店了解如何写好这张留言卡。一、什么场景下放置留言卡&a…

“2020 RT-Thread开发者大会” 思考感悟

从2019年开始参加RT-Thread的一次线下培训活动后&#xff0c;就深深的喜欢上这个国产的RTOS&#xff0c;之后RT-Thread举办的活动基本都有参加&#xff08;但每次活动抽奖都抽不到&#xff01;&#xff09;。当然&#xff0c;最为盛大的还属一年一度的RT-Thread开发者大会&…

小红书笔记_小红书的沙雕笔记,害人不浅啊

话说&#xff0c;当代人的十大必备软件是什么&#xff1f;要猫姐来说的话。除了微信微博抖音&#xff0c;小红书也肯定少不了&#xff01;它简直就是大部分PLMM的“种草神器”。就连明星都纷纷入驻小红书变身为“美妆博主”。前一阵上了热搜榜和李晨分手的范冰冰也是小红书的一…

2020 RT-Thread开发者大会 ART-Badge电子胸牌(可二次开发)

2020 RT-Thread开发者大会 ART-Badge电子胸牌&#xff08;可二次开发&#xff09;&#xff0c;动手实验IOT会场有介绍使用PersimmonUI设计器进行柿饼UI的开发&#xff0c;使用拖拽控件、注册事件的方式进行GUI的开发。开发语言使用JS&#xff0c;界面实现非常方便&#xff0c;后…

datatables分页下一页不能点击_干货,删不掉Word文末最后一页?学会5个方法,再也不愁啦...

在处理Word文档时&#xff0c;经常会在文档最后出现一页空白&#xff0c;非常讨厌&#xff0c;更可恶的是总是删不掉&#xff0c;按退格键或者delete键都无济于事。你是不是也正在为删除Word文末空白页发愁呢&#xff1f;有没有好的方法解决这一问题呢&#xff1f;有的&#xf…

计分员计分程序

1.估计这个任务需要多长时间&#xff1a;两星期 2.需求分析&#xff1a; 作为一名现场记分员&#xff0c;我希望详细记录比赛现场比分增长情况&#xff0c;以便观众及运动员、教练员及时掌握比赛状况。&#xff08;满意条件&#xff1a;每一次比分的改变&#xff0c;都要形成一…