4063 - 花圃规划

题目描述

某公园有一块美丽的花圃,该花圃由 NN 列的网格组成,每个网格都会种上一盆美丽的鲜花。我们用行号 i 和列号 j 来表示位于第 i 行第 j 列网格的位置。(i,j ∈ [1, N]

花圃的园丁培育了 C 种不同的鲜花,它们的品种编号为 1 \sim C。园丁从这些品种的鲜花中,选择了一些种到了花圃的每个网格,位于 i,j 位置的网格,种上了品种编号为 P_{ij} 的鲜花。

种完之后,园丁左看右看,总觉得当前的鲜花品种,在网格中的搭配,不够完美。于是,园丁找到了公园的园艺设计师,设计师告诉园丁,像这样的方形网格种花,要符合一定的数学规律,才能显得美观。

设计师在众多的数学规律中,找到了一条规律,只要按照这个规律来搭配,这块网格一定会更加美观。

具体来说,如果两个位置 i_1,j_1i_2,j_2 满足 (i_1+j_1) \% 3 = (i_2+j_2) \% 3\% 表示求余数),那么这两个位置的必须种植相同品种的鲜花;如果不满足这个条件,那么这两个位置的必须种植不同品种的鲜花。

为了实现更加美观的搭配,园丁可以选择重新种植部分网格的鲜花。但重新种植需要付出一定的费用,如果某网格的鲜花在重新种植前品种编号为 x,重新种植后品种编号为 y,则重新种植该网格的费用为 E_{xy}

你的任务是计算出,如果要使整个网格中所种的鲜花品种,满足设计师指定的规则,所需的最小总费用是多少?

输入

1 行输入 2 个整数 NC,分别代表花圃的行、列大小以及鲜花的品种数。

接下来 C 行,每行有 C 个数,第 x 行的第 y 个数,代表了将品种编号为 x 的鲜花,换成品种编号为 y 的鲜花所需要的费用 E_{xy}

接下来的 N 行,每行有 N 个数,第 i 行的第 j 个数,代表了园丁一开始在网格的第 i 行第 j 列的鲜花品种编号 P_{ij}

输出

输出一个整数,表示使得整个网格中所种的鲜花品种,满足设计师指定的规则,所需的最小总费用是多少?

样例

输入

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

输出

3

输入

4 3
0 16 72
181 0 253
142 912 0
3 1 2 1
2 1 1 2
3 2 1 3
1 1 2 2

输出

1130

输入

5 5
0 12 34 93 29
39 0 49 29 10
49 29 0 49 19
10 94 59 0 29
29 59 29 48 0
1 2 3 4 5
5 4 3 2 1
1 2 3 4 5
5 4 3 2 1
1 2 3 4 5

输出

585
说明

样例 1 解释

将 (1, 1) 位置的鲜花从品种 1 重新种植为品种 2,花费为 E_{12} = 1。 将 (1, 2) 位置的鲜花从品种 2 重新种植为品种 3,花费为 E_{23} = 1。 将 (2, 2) 位置的鲜花从品种 3 重新种植为品种 1,花费为 E_{31} = 1

总花费为 1 + 1 + 1 = 3,此时网格中种植鲜花的品种,满足优美布局的数学规律。

数据范围

对于 100\% 的数据,满足 1 \leq N \leq 5003 \leq C \leq 301 \leq E_{xy} \leq 1000 (x \neq y), E_{xy} = 0 (x = y)1 \leq P_{ij} \leq C

测试点特殊性质
1 \sim 2N=1C \leq 30
3 \sim 6N \leq 4C=3
7 \sim 20
标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 3 枚
难度 基础


上一题 下一题