#1461. 炸弹游戏

炸弹游戏

题目描述

在一个炸弹游戏中,你现在是一个炸弹投掷手,你要投掷炸弹来轰炸敌方的高价值建筑。敌方的建筑群可视为一个由 n×mn×m 个小方格组成的地图,每个小方格中有一幢建筑,并且你已经知道了所有建筑的价值。

作为一名优秀投掷手,你打算轰炸 kk 幢建筑,投掷方式是:你选择当前所有还存在的建筑里最高价值的一幢投下炸弹,这个炸弹会将这个建筑所在的一整行和一整列都炸平。随后系统将彻底抹除被炸平的建筑,将剩下的地块合并成 (n1)×(m1)(n−1)×(m−1) 的地图。

例如对原始地图

1 2 3
7 9 8
6 5 4

进行一次轰炸后,更新后的地图为:

1 3
6 4

请你编写程序,输出你轰炸了 k 幢建筑后的地图。

输入格式:

输入第一行给出三个正整数 nnmm (2n,m1000)(2 \le n,m \le 1000)kk (k<min(n,m))(k \lt min(n,m)),依次对应地图中建筑的行数、列数,以及轰炸步数。随后 nn 行,每行 mm 个整数,为地图中对应建筑的价值。 题目保证所有价值valval (230val230)(-2^{30} \le val \le 2^{30}) 且互不相等。同行数字间以空格分隔。

输出格式:

输出轰炸 kk 幢建筑后的地图。

同行数字间以 11个空格分隔

每一行输出一个换行

样例

输入

4 5 2
3 8 6 1 10
28 9 21 37 5
4 11 7 25 18
15 23 2 17 14

输出样例:

3 6 10
4 7 18

限制与约定

对于40%40\%的样例: 1n,m10 1 \le n,m \le 10

对于 100%100\% 的样例

保证1n,m1000 1 \le n,m \le 1000

所有价值valval (230val230)(-2^{30} \le val \le 2^{30}) 且互不相等

  • 时间限制: 1s1 s
  • 空间限制: 256MB256 MB