HDU 6010 - Daylight Saving Time

Posted nicetomeetu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 6010 - Daylight Saving Time相关的知识,希望对你有一定的参考价值。

先算周几,再模拟

#include <bits/stdc++.h>
using namespace std;
int GetWeekDay(int y,int m,int d)//0为周一,依此类推
{
    if(m==1) m=13,y--;
    if(m==2) m=14,y--;
    int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
    return week;
}
int t, yy, mm, dd, h, m, s, week;
void solve()
{
    if (mm < 3) puts("PST");
    else if (mm == 3)
    {
        if (week == 7 && dd > 7)
        {
            if (h == 2) puts("Neither");
            else if (h > 2) puts("PDT");
            else if (h < 2) puts("PST");
        }
        else if (dd-week > 7) puts("PDT");
        else  puts("PST");
    }
    else if (mm > 3 && mm < 11) puts("PDT");
    else if (mm == 11)
    {
        if (week == 7 && dd <= 7)
        {
            if (h < 1) puts("PDT");
            else if (h == 1) puts("Both");
            else puts("PST");
        }
        else if (dd - week <= 0) puts("PDT");
        else puts("PST");
    }
    else puts("PST");
}
int main()
{
    scanf("%d", &t);
    for (int tt = 1; tt <= t; tt++)
    {
        scanf("%d-%d-%d %d:%d:%d", &yy, &mm, &dd, &h, &m, &s);
        week = GetWeekDay(yy, mm, dd);
        week++;
        printf("Case #%d: ", tt);
        solve();
    }
}

  

以上是关于HDU 6010 - Daylight Saving Time的主要内容,如果未能解决你的问题,请参考以下文章

萨克斯谱Taylor Swift - Daylight 曙光 最好听的萨克斯演绎

即使在 Java 中未选中 Systems Daylight 选项,也始终使用 Java 中的夏令时获取时区

R6010 abort() 已被调用

调试错误。 R6010 中止已被调用()

std::thread 导致应用程序中止并出现错误 R6010

LOJ #6010. 「网络流 24 题」数字梯形