改编自生活。
在一个班上,有 n×m 名同学。现在要给这 n×m 个人排座位。
在这些同学中,可以大致分为三类人:
-
A 类型,如果周围一圈人(最多八个)有非 B 类型的人,那么 A 类型的人就会和这个人讲话。如果有多个则都会讲话。
-
B 类型,除了 C 类型中的情况外,周围不论是谁都不讲话。
-
C 类型,一共有 k 组,在同一个小组中,如果存在两名或者更多同学的横坐标与纵坐标的差都小于等于 1(形象化的就是如果一个人的周围一圈有同组的人),则这一对人会讲话。
对于以上的不同类型,B 类型与 C 类型可能存在交集,A 类型也有可能与 C 类型产生交集。
对于同时不属于 A,B,C 类型的同学,将其视作 D 类型:对于 D 类型的人,只有其周围出现 A 类型的人时才会与其讲话。
为了保持班级的纪律,老师想要对这 n×m 进行合理的排座位方式。对于一个排完的座位,其喧闹值为:
给出 A,B,C 类型中的人的学号(学号为 1∼n×m),问怎样安排座位可以使得班上的喧闹值尽量小。
如果能够给出一个方案更好了(