题目
有一个游戏叫做“撞色气球”。
地面上有一个n*n矩阵板,每个格子上都有一个彩色气球。气球的颜色将在[1,50]的范围内。在裁判大喊“开始!”,你可以开始撞击气球。每次只能选择一种气球坠毁时,我们定义两个颜色相同的气球属于同一种气球。更重要的是,每次你只能选择一个气球的单行或一列,并崩溃与你选择的颜色气球。当然,很多学生都在等着玩这个游戏,所以我们只给每个学生k次的时间去撞气球。
问题来了:哪种气球不可能在k次里都被学生撞坏。
输入
将有多个输入用例。每个测试用例以两个整数n开始,k. n是气球的行数和列数(1 <= n <= 100), k是每个学生ginving的次数(0 < k <= n)。根据矩阵a (n*n) Aij表示第i行j列中球的颜色。输入以n = k = 0结束。
输出
对于每个测试用例,按升序打印学生不可能在k次中崩溃的所有颜色。如果没有选择,请打印“-1”。
Sample Input
1 1
1
2 1
1 1
1 2
2 1
1 2
2 2
5 4
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
3 3
50 50 50
50 50 50
50 50 50
0 0
题解: 二分图的方法,纵横坐标变成可以构成二分图,转换一下思想其实就是让我们求最小点覆盖 左边的一个点代表一行 右边的一个点代表一列,要用几行或者几列把给出的边覆盖 边代表一个坐标的位置