1 条题解

  • 0
    @ 2024-08-27 20:22:38
    #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(){
        int y1, m1, d1, y2, m2, d2, cnt = 0;
        cin >> y1 >> m1 >> d1 >> y2 >> m2 >> d2;
        for(int i = y1; i <= y2; i++){
            if(run(i))cnt++;
        }
        cout << (y2-y1+1)*365 + cnt - day(run(y1), 1, 1, m1, d1) - day(run(y2), m2, d2, 12, 31) - 1;
    }
    
  • 1

信息

ID
1110
难度
5
分类
(无)
标签
递交数
31
已通过
14
通过率
45%
被复制
4
上传者