#codethanksfestival14qualae. [code_thanks_festival_14_quala_e]儀式
[code_thanks_festival_14_quala_e]儀式
问题描述
在某个神殿里,每年都会举行新年的仪式。
仪式需要使用 × 个石像。石像排列成 行纵向(南北方向)和 列横向(东西方向),起点位于西北角的石像被称为石像 (,),表示该石像位于南方 个位置,东方 个位置。最开始时,所有石像都面向南方。
仪式由 步组成,第 步 的操作如下:
- 第 步:对于所有满足 和 的整数对 ,将石像 (,) 向左旋转 度。
通常情况下,这些步骤会执行 次,但今年忘记了其中一步,导致最终结果与往年不同。
每一个步骤都具有重要意义,所以这种遗漏可能会带来麻烦。
更糟糕的是,忘记了 次操作结束时每个石像的朝向。不过幸运的是,已经知道了结束时朝南的石像数量为 个。
在神殿的会议上,决定开发一个列举遗漏步骤的程序。但是,该神殿没有程序员。你的任务是编写一个程序,列举在仪式中被遗漏的操作步骤。
输入
输入通过标准输入给出,具体格式如下。
:
- 第一行包含三个整数 (石像行数,)、(石像列数,)和 (结束时朝南的石像数量,)。
- 第二行包含一个整数 (操作步骤的数量,)。
- 接下来的 行描述每个操作步骤。第 行 包含四个整数 、()和 、(),表示第 步操作是将所有满足 和 的整数对 的石像向左旋转 度。
- 对于任何输入,至少有一个操作步骤被遗漏(即至少存在一种解决方案)。
输出
假设被遗漏的操作步骤按升序为 、、...、,请按顺序输出 行。第 行 输出整数 。输出末尾要换行。
示例1
3 5 3
6
1 3 2 5
2 2 1 2
1 3 1 4
2 3 2 5
1 2 3 5
1 2 4 5
示例1输出
2
6
初始状态下,所有石像的朝向如下表所示。
南
南
南
南
南
南
南
南
南
南
南
南
南
南
南
如果遗漏了第2步,操作的结果如下。
执行第1步后,石像的朝向为:
南
东
东
东
东
南
东
东
东
东
南
东
东
东
东
执行第3步后,石像的朝向为:
东
北
北
北
东
东
北
北
北
东
东
北
北
北
东
执行第4步后,石像的朝向为:
东
北
北
北
东
东
西
西
西
北
东
西
西
西
北
执行第5步后,石像的朝向为:
东
北
西
西
北
东
西
南
南
西
东
西
西
西
北
执行第6步后,石像的朝向为:
东
北
西
南
西
东
西
南
东
南
东
西
西
西
北
结果是有3个朝南的石像,所以第2步可能被遗漏。
在这个案例中,还有可能遗漏第6步,但其他情况下个数是矛盾的,所以输出2和6。
示例2
4 4 8
9
1 4 1 4
1 4 1 4
1 4 1 1
1 4 3 3
1 2 1 2
1 2 3 4
3 4 1 2
3 4 3 4
1 4 1 4
示例2输出
1
2
5
6
7
8
9