传送门:DayLight Saving Light

夏令时:

  夏时令(Daylight Saving Time:DST),又称“日光节约时制”和“夏令时间”,是一种为节约能源而人为规定地方时间的制度,在这一制度实行期间所采用的统一时间称为“夏令时间”。一般在天亮早的夏季人为将时间调快一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。

摘自百度百科。

题意:

  规定每到每年三月的第二个星期日的2:00就把时间调为3:00,再到该年的2:00的时候把时间再调为1:00。所以题目的意思为每年的1月1日0:00到三月第二个星期日的2:00为“PST”(不包括这个2:00时刻),这个2:00-3:00为“Neither”,3:00这个时刻到该年11月第一个星期日的1:00时刻(不包括1:00时刻)为“PDT”,1:00时刻到年终为“Both”。具体如下:

  另一个难点在于如何确定给出的日期是不是这两个日期中的一个。这个是队友按着日历数出来的,办法笨点能出题啊就行。

  

  所以规律就出来了,当该年是平年的时候日期是由上一个减一得出来的,如果是闰年就是由上一年减二得出来的。但十一月份最小是1再减就是从7开始往下减了。观察发现三月份和十一月份的日子是成对出现的,所以求出了十一月份的来三月份的就出来了。

代码:

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+;
typedef long long ll;
struct Year
{
int ma;
int no;
} y[]; bool judge(int year)
{
if((year% == && year% != ) || year% == )
return true;
return false;
} int fun(int x)
{
if(x == )
return ;
else if(x == )
return ;
else if(x == )
return ;
else if(x == )
return ;
else if(x == )
return ;
else if(x == )
return ;
else if(x == )
return ;
} void init()
{
int n = ;
y[].ma = ,y[].no = ;
for(int i = ; i<=; i++)
{
if(judge(i))
{
y[i-].no = (n - + ) % ;
n = y[i-].no;
}
else
{
y[i-].no = (n - + ) % ;
n = y[i-].no;
}
if(n == )
y[i-].no = n = ;
y[i-].ma = fun(n);
}
return;
} int main()
{
init();
int T,cnt = ;
scanf("%d",&T);
while(T--)
{
int yy,m,dd,hh,mm,ss;
scanf("%d-%d-%d %d:%d:%d",&yy,&m,&dd,&hh,&mm,&ss);
printf("Case #%d: ",cnt++);
yy = yy-;
if(m == )
{
if(dd == y[yy].ma)
{
if(hh < )
printf("PST\n");
else if(hh == )
printf("Neither\n");
else
printf("PDT\n");
}
else if(dd>y[yy].ma)
printf("PDT\n");
else if(dd<y[yy].ma)
printf("PST\n"); }
else if(m>= && m<=)
printf("PDT\n");
else if(m==)
{
if(dd == y[yy].no)
{
if(hh<)
printf("PDT\n");
else if(hh==)
printf("Both\n");
else
printf("PST\n");
}
else if(dd>y[yy].no)
printf("PST\n");
else if(dd<y[yy].no)
printf("PDT\n");
}
else
printf("PST\n");
}
return ;
}
/*
样例输入:
4
2016-03-13 01:59:59
2016-03-13 02:00:00
2016-11-06 00:59:59
2016-11-06 01:00:00
样例输出:
Case #1: PST
Case #2: Neither
Case #3: PDT
Case #4: Both
*/

DayLight Saving Light(HDU6010)的更多相关文章

  1. HDU6010 Daylight Saving Time

    /* HDU6010 Daylight Saving Time http://acm.hdu.edu.cn/showproblem.php?pid=6010 模拟 题意:算当前时间是否是夏令时 */ ...

  2. hdu 6010 Daylight Saving Time 泰勒公式

    Daylight Saving Time Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  3. Daylight Saving Time

    [Daylight Saving Time] 夏时制,又称日光节约时制.日光節約時間(英语:Daylight saving time)或夏令时间(英语:Summer time),是一种为节约能源而人为 ...

  4. 夏令时 DST (Daylight Saving Time) java中的夏令时【转】

    1916年,德国首先实行夏令时,英国因为怕德国会从中得到更大的效益,因此紧跟着也采取了夏令时 1986年至1991年,中华人民共和国在全国范围实行了六年夏令时 サマータイム 夏時間(日本现在没有实行夏 ...

  5. HDU 6010 - Daylight Saving Time

    先算周几,再模拟 #include <bits/stdc++.h> using namespace std; int GetWeekDay(int y,int m,int d)//0为周一 ...

  6. Gym 101206L Daylight Saving Time 根据年月日计算星期

    题意: [3月的第二个周日02:00:00 , 3月的第二个周日03:00:00) 这个区间都不是PST或PDT,[11月的第一个周日01:00:00 , 11月的第一个周日02:00:00) 这个区 ...

  7. C语言的时间函数

    下面是C语言的获取本地时间和构造时间进行格式化时间显示输出的相关函数:This page is part of release 3.35 of the Linux man-pages project. ...

  8. Lua 5.1 参考手册

    Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes 云风 译 www.codingno ...

  9. 【Linux】多睡/少睡一小时!冬夏令时全解析

    多伦多2016年11月6日凌晨2点开始起时间调回一小时,时间到凌晨2点时自动跳回到1点,大家可以多睡一小时(或者多一小时写essay的时间)~ 多伦多2017年3月12日凌晨2点开始时间拨快一小时时间 ...

随机推荐

  1. MPEG2、MPEG4、H264的差异

    iso(国际标准化组织) MPEG系列 ITU-T(国际电联)h.系列 H.264:iso与ITU联合制定,数据压缩比超牛! MPEG-2简介 MPEG-2制定于1994年,设计目标是高级工业标准的图 ...

  2. HDU5834Magic boy Bi Luo with his excited tree 树形dp

    分析:典型的两遍dfs树形dp,先统计到子树的,再统计从祖先来的,dp[i][0]代表从从子树回来的最大值,dp[i][1]代表不回来,id[i]记录从i开始到哪不回来 吐槽:赛场上想到了状态,但是不 ...

  3. 利用 C# dynamic 减少创建模型类

    C# 的 dynamic 关键字可以是C#可以像 javascript 这种弱类型语言一样具有随时可以添加属性的能力.C# 是一种强类型语言,dynamic 要摆脱类型的限制,自然是有代价的.这里不讨 ...

  4. 实现SpringBoot登录

    SpringBoot登录 https://www.cnblogs.com/jiekzou/p/9303871.html 通过前面10篇文章的学习,相信我们对SpringBoot已经有了一些了解,那么如 ...

  5. 8 种提升ASP.NET Web API性能的方法

    ASP.NET Web API 是非常棒的技术.编写 Web API 十分容易,以致于很多开发者没有在应用程序结构设计上花时间来获得很好的执行性能. 在本文中,我将介绍8项提高 ASP.NET Web ...

  6. React实战之Ant Design—Upload上传_附件上传

    React实战之Ant Design—Upload上传_附件上传 Upload组件大家都在官方文档中看过了,但写的时候还是会遇到许多问题,一些新手看了文档后感觉无从下手,本文过多的简绍就不说了,直接看 ...

  7. lnmp环境的nginx的tp5配置

    php7.1 server { listen 80; server_name www.tp5.com; access_log /home/wwwroot/access.log combined; er ...

  8. [TYVJ1391]走廊泼水节

    Description 话说,中中带领的OIER们打算举行一次冬季泼水节,当然这是要秘密进行的,绝对不可以让中中知道.不过中中可是老江湖了,当然很快就发现了我们的小阴谋,于是他准备好水枪迫不及待的想要 ...

  9. Q - Euclid in Manhattan(欧几里德距离==曼哈顿距离?)

    Desciption Consider a set of n points in a 2-D plane with integer coordinates. There are various way ...

  10. sublime 3 最新注册码

    http://9iphp.com/web/html/sublime-text-3-license-key.html