#CSES2131. 网格拼图 II
网格拼图 II
题目背景
翻译自 CSES-2131 题。
题目描述
有一个 的网格,每个格子里有一定数量的金币。
你知道每一行和每一列需要选择多少个格子来获取金币。你可以从每个你选择的格子中获取所有金币。那么,如何选择这些格子才能使得你获得最大的金币数量,并且满足给定的条件?
输入格式
第一行包含一个整数 :网格的大小。行和列的编号为 。
第二行包含 个整数 :表示你必须从第 行选择 个格子。
第三行包含 个整数 :表示你必须从第 列选择 个格子。
接下来有 行,每行包含 个整数 :表示第 行第 列格子里的金币数量。
你可以假设 和 相等。
输出格式
首先输出一个整数 :表示你可以收集到的最大金币数量。
然后输出 行,每行描述你选择的格子。如果选择某个格子,则用 X
表示,否则用 .
表示。
如果无法满足条件,输出 -1
。
样例
5
0 1 3 2 0
1 2 2 0 1
2 5 1 5 1
0 2 5 1 2
3 8 9 3 5
1 4 3 7 3
0 3 6 2 8
32
.....
..X..
.XX.X
XX...
.....
说明/提示
;
;
;
。