月历
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
小 B 想打印一张月历。已知 年 月 日是星期 ( 表示星期一,……, 表示星期日),请打印出 年 月的月历。
各月天数: 月有 天; 月有 天; 月在闰年有 天,在平年有 天。闰年是指:能被 整除但不能被 整除的年份,或者能被 整除的年份。
月历的格式如下:
- 第一行固定是表头
Mo Tu We Th Fr Sa Su,分别对应星期一到星期日; - 从第二行起,每行表示一周(从星期一到星期日),每一天占一个宽度为 的格子:日期是一位数时前面补一个空格,是两位数时直接输出;
- 同一行相邻两个格子之间用一个空格隔开;
- 这个月 号之前的那些格子是空的,每个空格子输出两个空格(它和后面的格子之间同样要有一个空格隔开);
- 每一行在这一行最后一个日期之后立即换行,行末不要输出多余的空格。最后一个日期所在的那一行就是月历的最后一行。
输入格式
一行,三个整数 ,用空格分隔。
输出格式
若干行,表示 年 月的月历。
样例 #1
样例输入 #1
2026 2 4
样例输出 #1
Mo Tu We Th Fr Sa Su
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
样例解释
年 月 日是星期四。 月有 天,,所以 月 日比 月 日往后推 天,是星期日,排在第一行的最后一格,它前面有 个空格子。
年不是闰年, 月有 天,最后一行到 号(星期六)就结束,后面不再输出空格。
提示
数据范围
- 对于 的数据:;
- 对于 的数据: 不是闰年;
- 对于 的数据:,,,且输入与真实日历一致。
提示
- 先用循环把 月的天数依次「加到星期上」再对 取余,就能求出 月 日是星期几。
- 年和 年都不是闰年, 年是闰年。