Blue Bridge Cup Running Workout

Insert picture description here
Simulation, be careful not to undercount
Answer: 8879

#include <iostream>
using namespace std;
int day[15]={
    
    0,31,28,31,30,31,30,31,31,30,31,30,31};
    
void runnian(int y){
    
    
    if((y%4==0&&y%100!=0)||y%400==0)
        day[2]=29;
    else//不能省去,不能保证上一年2月是28天
        day[2]=28;
}
int main()
{
    
    
    int ans=0;
    // runnian(2200);
    // cout<<day[2];
    int y=2000,m=1,d=1,w=6;
    while(!(y==2020&&m==10&&d==1)){
    
    //2020.10.1截至
        //今天
        if(w==1 || d==1)
            ans++;
        ans++;
        
        //明天
        d++;
        w=(w+1)%7;
        if(d>day[m]){
    
    
            d=1;
            m++;
            if(m>12){
    
    
                y++;
                m=1;
            }
        }
        runnian(y);
    }
	cout<<ans+2;//2020.10.1后没算
	return 0;
}


Guess you like

Origin blog.csdn.net/Supreme7/article/details/114641703