返回题解分享
讨论 / 题解分享/ 帖子详情

跑步锻炼(结果填空) - 题解

使用日期模板

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int sum = 0;
	int a = 6;
	for (int year = 2000; year <= 2020; year++)
	{
		for (int month = 1; month <= 12; month++)
		{
			for (int day = 1; day <= 31; day++)
			{
				int flag = 0;
				if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
				{
					;
				}
				else if (month == 2)
				{
					if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
					{
						if (day > 29) break;
					}
					else
					{
						if (day > 28) break;
					}
				}
				else
				{
					if (day > 30)
					{
						break;
					}
				}
				int b = (a++ - 1) % 7 + 1;//当天是星期几
				if (b == 1)
				{
					flag = 1;
				}
				a = (a - 1) % 7 + 1;
				if (day == 1 || flag == 1)
				{
					sum += 2;
				}
				else
				{
					sum++;
				}
				if (year == 2020 && month == 10 && day == 1)
				{
					cout << sum << endl;
					return 0;
				}
			}
		}
	}
}
0 回复 0 转发 1 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!