本文主要是介绍智障跑步时间暴力,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*
小明是一个智障,他喜欢跑步,他平时都跑1公里,
而在星期1或者每个月的第1天加量跑2公里,
他从2000年1月1日星期六开始,一直跑到了2021年1月31日星期日,
请问,他一共跑了多少里?
1公里 == 2里
1里 == 500米
*/
#include<bits/stdc++.h>
using namespace std;
int year = 2000;
int month = 1;
int day = 1;
int week = 6;
int d[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int c = 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);c+=2;while(!( year ==2021&& month==1 && day==31)) {nextday();if(day==1 || week==1){c+=2; //特殊日子跑2公里 }else{c+=1; //普通日子跑1公里 }}cout<<c*2<<endl;
}
这篇关于智障跑步时间暴力的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!