2 条题解
-
0
Infinity_ LV 8 @ 2024-08-05 15:12:18
#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, ans, 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@ 2026-05-02 13:37:57
#include<bits/stdc++.h> using namespace std; int y,m,d; bool leap(int y){ return y%4==0&&y%100!=0||y%400==0; } int monthday(int y,int m){ switch(m){ case 2:return leap(y)+28; case 4:case 6:case 9:case 11:return 30; default:return 31; } } int yearday(int y,int m,int d){ int re=d; for(int i=1;i<m;i++) re+=monthday(y,i); for(int i=1;i<y;i++){ if(leap(i))re+=366; else re+=365; } return re; } int main(){ int y1,m1,d1,y2,m2,d2; cin>>y1>>m1>>d1; cin>>y2>>m2>>d2; cout<<yearday(y2,m2,d2)-yearday(y1,m1,d1); return 0; }
- 1
信息
- ID
- 1093
- 难度
- 6
- 分类
- (无)
- 标签
- 递交数
- 364
- 已通过
- 93
- 通过率
- 26%
- 上传者