CF51A Cheaterius's Problem
题目描述
Cheaterius 是 Berland 著名的占星师、魔术师和巫师,同时他也是一个骗子和说谎者。他最近的一项发明是 Cheaterius 的护身符!这些护身符能够带来好运和财富,但价格相当昂贵。Cheaterius 亲自制作这些护身符,其制造工艺十分保密。不过我们知道,Cheaterius 会在漫长的夜晚用强力胶把多米诺骨牌两两粘在一起,做成 $2×2$ 的方块,这些方块就是 Cheaterius 的魔法护身符!

上图就是 Cheaterius 的护身符之一的样子。在一个辛苦的夜晚后,Cheaterius 做出了 $n$ 个护身符。每个护身符是一个 $2×2$ 的方块,每一格中都有 $1$ 到 $6$ 个点。现在他想把这些护身符分成若干堆,每一堆中的护身符都是相似的。若两个护身符可以通过旋转 $90$ 度、$180$ 度或 $270$ 度,使得它们每一格中的点数都对应一致,则这两个护身符被认为是相似的。护身符不能翻面。
请编写一个程序,对于给定的护身符,计算 Cheaterius 桌上应分出的堆数。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 1000$),表示护身符的数量。接下来的内容是每个护身符的描述。每个护身符用两行表示,每行有两个数字(从 $1$ 到 $6$)。每对护身符之间用一行 "\*\*" 分隔。
输出格式
输出所需的堆数。
说明/提示
由 ChatGPT 5 翻译