TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P5859
  • 题目
  • P5859好网格
    限制 : 时间限制 : 2000 MS   空间限制 : 262144 KB
    问题描述

    已知一个由 \(N\)\(N\) 列小方格组成的大网格,$(i,j)$表示坐标:从上往下数第 \(i\) 行,从左往右数第 \(j\) 列。网格中被涂了 \(C\) 种颜色,分别用 $1$ 到 \(C\) 表示,每个小方格中的初始颜色用 \(c_{i,j}\) 表示。我们把满足下列两个条件的网格称为“好网格”:

    • 如果 \((i+j)\% 3 =(x+y)\%3\),则 \((i,j)\) 方格的颜色与 \((x,y)\) 方格的颜色相同;
    • 如果 \((i+j)\% 3 \neq (x+y)\%3\),则 \((i,j)\) 方格的颜色与 \((x,y)\) 方格的颜色不相同;

    这里 \(\%\) 的意思是求模。现在,我们有机会重新对网格上色,使它成为一个“好网格”。但是对于小方格,由颜色$X$改成颜色$Y$需要付出$D_{X,Y}$的代价。请求出把网格变成“好网格”的最小代价。

    其中,

    • \((1 \leq N \leq 500)\)
    • $3 \leq C \leq 30$
    • $1 \leq D_{i,j} \leq 1000(i \neq j),D_{i,j}=0(i = j)$
    • $1 \leq c_{i,j} \leq C$

    所有输入均为整数。

    输入格式

    输入第一行为两个整数$N$,\(C\),用空格隔开。 接下来的$C$行输入$D_{i,j}$矩阵,即颜色之间互相修改的代价矩阵。 接下来的$N$行输入$c_{i,j}$矩阵,即每个小方格的初始颜色矩阵。如下所示:

    \(N\) \(C\)

    \(D_{1,1} \cdots D_{1,C}\)

    \(\cdot\)

    \(\cdot\)

    \(D_{C,1} \cdots D_{C,C}\)

    \(c_{1,1} \cdots c_{1,N}\)

    \(\cdot\)

    \(\cdot\)

    \(c_{N,1} \cdots c_{N,N}\)

    输出格式

    最小代价。如果变成“好网格”的最小代价是$x$,就输出$x$。

    样例输入 1

    2 3
    0 1 1
    1 0 1
    1 4 0
    1 2
    3 3

    样例输出 1

    3

    样例输入 2

    4 3
    0 12 71
    81 0 53
    14 92 0
    1 1 2 1
    2 1 1 2
    2 2 1 3
    1 1 2 2

    样例输出 2

    428

    提示

    样例1说明:

    \[ \begin{matrix} 1 & 2 \\ 3 & 3 \end{matrix} \]

    用最小代价变成“好网格”,应该是

    \[ \begin{matrix} 2 & 3 \\ 3 & 1 \end{matrix} \]

    由输入的$D$矩阵可知: 颜色1变成颜色2,代价为1; 颜色2变成颜色3,代价为1; 颜色3变成颜色1,代价为1; 总代价为3。


    来源  abc099_d