C1103 - 日历问题

题目描述

日历是一种用于测量时间的系统,从小时和分钟,到月份和日子,最后到年份和世纪。小时、日、月、年和世纪这些术语都是日历系统的时间单位。

根据现在使用的公历,年份能被4整除但不能被100整除或者年份能被400整除的年份是闰年,闰年的2月份有29天,平年的2月份是28天

因此,1700年、1800年、1900年和2100年不是闰年,但1600年、2000年和2400年是闰年。

给定自公元2000年1月1日以来经过的天数,你的任务是找出具体日期和星期几。

2000年1月1日是星期六

输入格式

输入由多行组成,每行包含一个正整数,表示自公元2000年1月1日以来经过的天数N。最后一行包含整数−1,代表输入结束(不应处理)。

你可以假设结果日期不会超过公元9999年。

输出格式

对于每个测试用例,输出一行,包含日期和星期几,格式为“YYYY-MM-DD DayOfWeek”,其中“DayOfWeek”必须是“Sunday”、“Monday”、“Tuesday”、“Wednesday”、“Thursday”、“Friday”和“Saturday”之一。

输入输出样例

输入样例 输出样例
1730
1740
1750
1751
-1
2004-09-26 Sunday
2004-10-06 Wednesday
2004-10-16 Saturday
2004-10-17 Sunday

数据范围与提示

对于100%的数据满足:$1 \le N \le 2 \times 10^{6}$,最多有20组测试数据

测试点数目

共10个测试点,每个测试点10分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:C1103.in,输出文件名为:C1103.out