1 条题解

  • 1
    @ 2024-08-28 11:31:32
    #include<iostream>
    using namespace std;
    int a[14] = {0, 1, -2, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1};
    int day(bool r, int m1, int d1, int m2, int d2){
        int ans;
        if(r)a[2] = -1;
        else a[2] = -2;
        ans = (m2-m1)*30+d2-d1;
        for(int i = m1; i < m2; i++)ans += a[i];
        return ans;
    }
    bool run(int y){
        return ((y % 400 == 0) || ((y & 3) == 0 && !(y % 100 == 0)));
    }
    int main(){
        ios::sync_with_stdio(false);
        int y1, m1, d1, h1, min1, s1, y2, m2, d2, h2, min2, s2, cnt = 0, days;
        cin >> y1 >> m1 >> d1 >> h1 >> min1 >> s1 >> y2 >> m2 >> d2 >> h2 >> min2 >> s2;
        for(int i = y1; i <= y2; i++){
            if(run(i))cnt++;
        }
        days = (y2-y1+1)*365 + cnt - day(run(y1), 1, 1, m1, d1) - day(run(y2), m2, d2, 12, 31) - 1;
        cout << days*86400 - (3600*h1+60*min1+s1) + (3600*h2+60*min2+s2);
    }
    
  • 1

信息

ID
1112
难度
2
分类
(无)
标签
递交数
28
已通过
22
通过率
79%
上传者