sdnu oj 1560 隔几天

听你的,听你的, 加上当天

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <math.h>
#include <queue>
#define mod 1000000007
using namespace std;
typedef long long ll;

const int N = 10000006;

int judge(int y)
{
    if(y%4 == 0 && y%100 != 0 || y%400 == 0)
        return 1;
    return 0;
}

int mon[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

ll cnt_day(int y, int m, int d)
{
    int i;
    ll day = 0;
    for(i = 0; i < y; ++i)
    {
        day += 365;
        if(judge(i))
            ++day;
    }
    for(i = 1; i < m; ++i)
    {
        day += (ll)mon[i];
    }
    day += (ll)d;
    if(judge(y) && m > 2)
        ++day;
    return day;
}
int main()
{
    int i, j, y1, y2, m1, m2, d1, d2;
    while(~scanf("%d%d%d%d%d%d", &y1, &m1, &d1, &y2, &m2, &d2))
    {
        ll day1, day2;
        day1 = cnt_day(y1, m1, d1);
        day2 = cnt_day(y2, m2, d2);
        ll ans = day2 - day1;
        printf("%lld\n", ans+1);
    }
    return 0;
}

发布了40 篇原创文章 · 获赞 4 · 访问量 1113

猜你喜欢

转载自blog.csdn.net/xiongshuxian2019/article/details/104561180