题库练习 文理分科
← 上一题 下一题 →

A2624 | 文理分科

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过)

小 P 所在的班级要进行文理分科。他的班级可以用一个 $n\times m$ 的矩阵进行描述,每个格子代表一个同学的座位。每位同学必须从文科和理科中选择一科。同学们在选择科目的时候会获得一个满意值。满意值按如下的方式得到:

- 如果第 $i$ 行第 $j$ 列的同学选择了文科,则他将获得 $art_{i,j}$ 的满意值,如果选择理科,将得到 $science_{i,j}$ 的满意值。

- 如果第 $i$ 行第 $j$ 列的同学选择了文科,并且他相邻(两个格子相邻当且仅当它们拥有一条相同的边)的同学全部选择了文科,则他会更开心,所以会增加 $same\text{\underline{ }}art_{i,j}$ 的满意值。

- 如果第 $i$ 行第 $j$ 列的同学选择了理科,并且他相邻的同学全部选择了理科,则增加 $same\text{\underline{ }}science_{i,j}$ 的满意值。

小 P 想知道,大家应该如何选择,才能使所有人的满意值之和最大。请告诉他这个最大值。

输入格式

输入第一行为两个正整数 $n,m$。
接下来 $n$ 行 $m$ 个整数,第 $i$ 行第 $j$ 个整数表示 $art_{i,j}$;
接下来 $n$ 行 $m$ 个整数,第 $i$ 行第 $j$ 个整数表示 $science_{i,j}$;
接下来 $n$ 行 $m$ 个整数,第 $i$ 行第 $j$ 个整数表示 $same\text{\underline{ }}art_{i,j}$;
接下来 $n$ 行 $m$ 个整数,第 $i$ 行第 $j$ 个整数表示 $same\text{\underline{ }}science_{i,j}$。

输出格式

输出为一个整数,表示最大的满意值之和。

输入输出样例

输入 #1
3 4
13 2 4 13
7 13 8 12
18 17 0 5
8 13 15 4
11 3 8 11
11 18 6 5
1 2 3 4 
4 2 3 2
3 1 0 4
3 2 3 2
0 2 2 1
0 2 4 4 
输出 #1
152
C++ 编辑器
输入
输出