博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【2017"百度之星"程序设计大赛 - 初赛(A)】今夕何夕
阅读量:5075 次
发布时间:2019-06-12

本文共 1896 字,大约阅读时间需要 6 分钟。

【链接】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 
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
pii;typedef pair
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("");    }}

转载于:https://www.cnblogs.com/AWCXV/p/7626093.html

你可能感兴趣的文章