1 条题解
-
0
Infinity_ LV 8 @ 8 个月前
- 1
信息
- ID
- 1110
- 难度
- 4
- 分类
- (无)
- 标签
- 递交数
- 36
- 已通过
- 18
- 通过率
- 50%
- 被复制
- 4
- 上传者
#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;
}