#277. 日历制作

日历制作

日历制作

题目描述

小 A 想制作 20252025 年每个月的日历。他希望你能编写一个程序,按照格式输出给定月份的日历。

具体来说,第一行需要输出 MON TUE WED THU FRI SAT SUN,分别表示星期一到星期日。接下来若干行中依次输出这个月所包含的日期,日期的个位需要和对应星期几的缩写最后一个字母对齐。例如,202520259911 日是星期一,在输出九月的日历时,11 号的个位 11 就需要与星期一 MON 的最后一个字母 N 对齐。九月的日历输出效果如下:

MON TUE WED THU FRI SAT SUN
  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
 29  30

你能帮助小 A 完成日历的制作吗?

输入格式

一行,一个正整数 mm,表示需要按照格式输出 20252025mm 月的日历。

输出格式

输出包含若干行,表示 20252025mm 月的日历。

样例输入

样例输入 1

9

样例输入 2

6

样例输出

样例输出 1

MON TUE WED THU FRI SAT SUN
  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
 29  30

样例输出 2

MON TUE WED THU FRI SAT SUN
                          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  29
 30

样例解释

输入为 99,表示需要输出 2025202599 月的日历。已知 202520259911 日为星期一,因此日历第一行星期一列打印 11,随后日期依次向右排列,每行对应一个星期。99 月共有 3030 天,因此共有 55 行日期,其中最后一行仅包含 29293030。输出的每一列与星期缩写严格对齐。

数据范围

对于所有测试点,保证 1m121 \le m \le 12