#ATabc099d. [ABC099D] Good Grid

[ABC099D] Good Grid

AT_abc099_d [ABC099D] Good Grid

题目描述

有一个 NNNN 列的网格,将第 ii 行第 jj 列的格子记作 (i,j)(i, j)

这些格子必须被涂成颜色 11 到颜色 CC 之间的某一种颜色,初始时 (i,j)(i, j) 被涂成颜色 ci,jc_{i,j}

如果对于任意满足 1i,j,x,yN1 \leq i, j, x, y \leq Ni,j,x,yi, j, x, y,网格满足以下条件,则称其为“好网格”:

  • 如果 (i+j)mod3=(x+y)mod3(i+j) \bmod 3 = (x+y) \bmod 3,则 (i,j)(i, j)(x,y)(x, y) 的颜色相同。
  • 如果 (i+j)mod3(x+y)mod3(i+j) \bmod 3 \neq (x+y) \bmod 3,则 (i,j)(i, j)(x,y)(x, y) 的颜色不同。

其中,XmodYX \bmod Y 表示 XX 除以 YY 的余数。

你可以将 00 个或多个格子的颜色重新涂成任意颜色,使得网格变成“好网格”。

对于某个格子,如果涂色前的颜色是 XX,涂色后的颜色是 YY,则在该格子上产生的“违和感”为 DX,YD_{X,Y}

请你求出所有格子的违和感之和的最小可能值。

输入格式

输入按以下格式从标准输入读入。

NN CC
D1,1D_{1,1} ...... D1,CD_{1,C}
\vdots
DC,1D_{C,1} ...... DC,CD_{C,C}
c1,1c_{1,1} ...... c1,Nc_{1,N}
\vdots
cN,1c_{N,1} ...... cN,Nc_{N,N}

输出格式

当所有格子的违和感之和的最小值为 xx 时,输出 xx

样例 1

输入

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

输出

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

输出

428

说明/提示

限制条件

  • 1N5001 \leq N \leq 500
  • 3C303 \leq C \leq 30
  • $1 \leq D_{i,j} \leq 1000\ (i \neq j),\ D_{i,j}=0\ (i=j)$
  • 1ci,jC1 \leq c_{i,j} \leq C
  • 所有输入均为整数

样例解释 1

  • (1,1)(1,1) 涂成颜色 22,此时 (1,1)(1,1) 的违和感为 D1,2=1D_{1,2}=1
  • (1,2)(1,2) 涂成颜色 33,此时 (1,2)(1,2) 的违和感为 D2,3=1D_{2,3}=1
  • (2,2)(2,2) 涂成颜色 11,此时 (2,2)(2,2) 的违和感为 D3,1=1D_{3,1}=1

此时,所有格子的违和感之和为 33

注意,Di,jDj,iD_{i,j} \neq D_{j,i} 可能成立。

由 ChatGPT 4.1 翻译