• 【2017"百度之星"程序设计大赛


    【链接】http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=775&pid=1005


    【题意】


    在这里写题意

    【题解】


    先看看所给的初始日期是>2月还是小于2月.
    这样,就能知道第一次受到的影响是今年的还是明年的了.
    因为如果在1月的话,它到了明年这个时候还是1月,并没有经历明年的二月份.
    也就是说不受明年的闰年或平年的影响,而是受今年的闰年或平年影响.
    而如果初始是2月19号,或者月份大于2的话,则是受明年的影响了,因为会经历明年的2月那个特殊的
    日子。
    每年加365天,然后对7取余就可以了。
    直到模后为0,且初始不为2月19号,或者为2月19号,且刚好现在也是闰年.

    【错的次数】


    0

    【反思】


    在这了写反思

    【代码】

    #include <bits/stdc++.h>
    using namespace std;
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
    #define LL long long
    #define rep1(i,a,b) for (int i = a;i <= b;i++)
    #define rep2(i,a,b) for (int i = a;i >= b;i--)
    #define mp make_pair
    #define pb push_back
    #define fi first
    #define se second
    #define ms(x,y) memset(x,y,sizeof x)
    #define ri(x) scanf("%d",&x)
    #define rl(x) scanf("%lld",&x)
    #define rs(x) scanf("%s",x+1)
    #define oi(x) printf("%d",x)
    #define ol(x) printf("%lld",x)
    #define oc putchar(' ')
    #define os(x) printf(x)
    #define all(x) x.begin(),x.end()
    #define Open() freopen("F:\rush.txt","r",stdin)
    #define Close() ios::sync_with_stdio(0)
    
    
    typedef pair<int,int> pii;
    typedef pair<LL,LL> pll;
    
    
    const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
    const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
    const double pi = acos(-1.0);
    const int N = 110;
    
    
    int T;
    bool isr(int y)
    {
        return y%400==0 || (y%4==0&&y%100!=0);
    }
    int main(){
        //Open();
        ri(T);
        int y, m, d;
        while (T--)
        {
            scanf("%d-%d-%d", &y,&m,&d);
            bool flag = false;
            if(m==2 && d==29)
                flag = true;
            int ans = 0;
            int t;
            if(m>2 || flag)
                t = y+1;
            else
                t = y;
            int ret = 0;
            while(true)
            {
                if(isr(t))
                    ans += 366;
                else
                    ans += 365;
                ans %= 7;
                t++;
                ret++;
                if(ans==0 && (!flag||isr(t-1)))
                    break;
            }
            oi(y+ret);
            puts("");
        }
    }
    


  • 相关阅读:
    js node 节点 原生遍历 createNodeIterator
    nodejs fs copy本地文件src dst
    axios 请求常用组件,及其错误
    【IntelliJ IDEA学习之三】IntelliJ IDEA常用快捷键
    【IntelliJ IDEA学习之二】IntelliJ IDEA常用配置
    【IntelliJ IDEA学习之一】IntelliJ IDEA安装激活、VM参数
    【python学习案例】python判断自身是否正在运行
    【Linux脚本学习案例】shell脚本多通道并发执行存储过程
    【Activiti学习之四】Activiti API(三)
    【Activiti学习之三】Activiti API(二)
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626093.html
Copyright © 2020-2023  润新知