#P17223. [2025年南开中学集训]九鼎之局

[2025年南开中学集训]九鼎之局

题目描述

谜题寺庙供奉 1818 位神仙,寺庙中有九种每种九个共八十一鼎排成方阵。每位神仙对应一行或一列。一次操作可以将 2×22\times2 的部分旋转 9090 度。最终每位神仙对应的九鼎要求互不相同。求操作方案。

输入格式

九行每行九个字母(字母为 AI,每个字母恰好出现 99 次)表示初始方阵。

输出格式

第一行输出操作数。

接下来每行三个数 x,y,zx,y,z0<x,y<90<x,y<90z10\le z\le1),表示旋转位置是从上到下第 xx 行与第 x+1x+1 行,从左到右第 yy 列与第 y+1y+1 列形成的 2×22\times2 矩阵。旋转方向当 z=0z=0 为顺时针,z=1z=1 为逆时针。

样例 1 输入

A B C D E F G H I
B C D E F G H I A
C D E F G H I A B
D E F G H I A B C
E F G H I A B C D
F G H I A B C D E
G H I A B C D E F
H I A B C D F E H
I A B C D E F G G

样例 1 输出

1
8 7 1
8 8 0

转换注:原文样例首行操作数为 1,但随后列出了两行操作,与输出格式不一致。此处保留原文。

数据范围与评分

一共 2020 个测试点,每个测试点 55 分。保证数据随机。其中前 1010 个测试点的输入数据在下发文件当中,你可以手玩后在代码里特判输出。

由于出题人懒 checker 过于简单,本题不提供。

假设你的操作数为 xx,执行操作后,共有 yy 行和列满足字符互不相同,则每个测试点可以获得如下部分分:

  • x200x\le200y=18y=18,则获得 55 分;
  • 若输出不合法或 x>700x>700,则获得 00 分;
  • 否则,获得 $0.25y\left(1-\left\lceil(x-200)/5\right\rceil\times0.01\right)$ 分。

例如,当 x=200,y=16x=200,y=16 时可以获得 44 分;当 x=300,y=10x=300,y=10 时可以获得 22 分。