具体出处
2020蓝桥杯cpp组
【第十一届】【省赛】【B组】
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
小蓝每天都锻炼身体。
正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。
小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
运行限制
最大运行时间:1s
最大运行内存: 128M
AC代码
#include<bits/stdc++.h>
using namespace std;
int ans;
int day[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int week;
bool check(int yy){
if( yy%400==0 || (yy%100!=0 && yy%4==0) ) return 1;
else return 0;
}
int main(){
week = 6;
for(int yy = 2000; yy<=2020; yy++){
if(check(yy)) day[2] = 29;
else day[2] = 28;
for(int mm = 1; mm<=12; mm++){
if(yy==2020 && mm>10) break; //截止啦
for(int dd = 1; dd<=day[mm]; dd++){
if(yy==2020 && mm==10 && dd>1) break; //截止啦
if(week==1 || dd==1) ans += 2;
else ans += 1;
week = (week+1)%7;
}
}
}
cout<<ans;
return 0;
}
技巧:excel