矢子啊

求助一道数据结构编程题

带旋转的数独游戏

数独是一个基于逻辑的组合数字放置拼图,在世界各地都很受欢迎。
在这个问题上,让我们关注 16 乘號 16 网格的拼图,其中包含 4 乘號 4 个区域。 目标是用十六进制数字填充整个网格,即 0123456789 A B C D E F,以便每列,每行和每个区域包含所有十六进制数字。

下图显示了一个被成功解决的数独例子:

 

 

昨天,周老师解决了一个数独并将其留在桌面上。 然而,龙龙想和他开个玩笑——龙龙打算对这个已经解决的数独进行多次以下操作。

  •  选择一个  4 乘號 4 的小区域并顺时针旋转 90 度。

周老师回来发现他拼好的数独板被打乱了,开始挠头,你能帮他以最小的步数恢复原样吗?请你手把手的教他怎么做,也就是需要输出方案。

请注意选择要旋转的方块不能跨越任何小区域,也就是说必须选择一块完整的小区域旋转。小区域的定义在上面,16 乘號 16 的网格被分成 4 乘號 4 个小区域。

Input

第一行输入一个正整数 T 空格 左括号 1 小於等於 T 小於等於 10 立方 右括号 表示数据组数;
接下来每组数据输入一个 16 乘號 16 的数独图,表示被龙龙打乱后的数独面板。

Output

对于每组数据:

第一行输出一个整数 a n s ,表示周老师最少需要逆时针旋转多少次才能恢复原样。

接下来输出 a n s 行,每行两个数p 下標 x 空格 空格 空格 p 下標 y,表示逆时针旋转一次第p 下標 x行第p 下標 y列的小矩阵。

posted on 2021-10-20 19:41  矢子啊  阅读(210)  评论(0)    收藏  举报

导航