下15个周六是那年那月那日
#include <bits/stdc++.h>
using namespace std;
//今日年份日期星期
int year = 2021;
int month = 1;
int day = 30;
int week = 6;
int d[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int w = 0; //第几个周六
void nextday() {
if(month==2) { //正处2月 二月很特殊,但也不是时时刻刻检查平润年,而是正值28号这天才要检查
if(day==29) { //2月状态下,如果已经是29号,那肯定是闰年,必然下一天就是3月1日
month++;
day=1;
} else if(day==28) {
if(year%400==0 || (year%4==0 && year%100!=0)) { //闰年 28号,则要判断平润,平,下一天是3月1日(month++,day=1),润下一天是2月29日(day++)
day++;
} else { //平年
month++;
day=1;
}
} else {
day++;
}
} else if(month==12 && day==31){ //年底
year++;
month=1;
day=1;
} else {
if(day!=d[month]) { //没到月末
day++;
} else { //月末
month++;
day=1;
}
}
if(week<7) {
week++;
} else {
week=1;
}
}
int main(){
ios::sync_with_stdio(0);
while(w!=15){
nextday();
if(week == 6) {
w++;
}
}
cout<<year<<"-"<<month<<"-"<<day<<endl;
return 0;
}