最讨厌最不会的就是日期
为什么人类要把日期定义的这么复杂QwQ
题意:
![](https://img-blog.csdnimg.cn/img_convert/95cbb7b6ec0c219bc9c0d86d91eeaaa5.png)
思路:
模拟
开两个数组:闰年数组和非闰年数组,然后取枚举年月日,注意维护一下week
值得注意的是,第二个for循环break后还会调入第一个for循环,而不是直接跳出所有循环
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int mxn=3e3+10;
const int mxe=1e4+10;
int idx=1,week=6;
int Monr[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int Mon[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool check(int x){
if((x%4==0&&x%100!=0)||(x%400==0)) return true;
return false;
}
void solve(){
int ans=0;
for(int year=2000;year<=2020;year++){
for(int mon=1;mon<=12;mon++){
int D=check(year)?Monr[mon]:Mon[mon];
for(int day=1;day<=D;day++){
if(day==1||week==1) ans+=2;
else ans++;
idx++;
week++;
if(week==8) week=1;
if(year==2020&&mon==10&&day==1){
cout<<ans<<'\n';
return;
}
}
}
}
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int __=1;//cin>>__;
//p_init(2019);
while(__--)solve();return 0;
}