一路算法题,求大神指点

一道算法题,求大神指点
描述
给你一个m x n (1 <= m, n <= 100)的矩阵A (0<=aij<=10000),要求在矩阵中选择一些数,要求每一行,每一列都至少选到了一个数,使得选出的数的和尽量的小。

输入
多组测试数据。首先是数据组数T

对于每组测试数据,第1行是两个正整数m, n,分别表示矩阵的行数和列数。

接下来的m行,每行n个整数,之间用一个空格分隔,表示矩阵A的元素。

输出
每组数据输出一行,表示选出的数的和的最小值。

数据范围
小数据:1 <= m, n <= 5

大数据:1 <= m, n <= 100


样例输入
2
3 3
1 2 3
3 1 2
2 3 1
5 5
1 2 3 4 5
5 1 2 3 4
4 5 1 2 3
3 4 5 1 2
2 3 4 5 1

样例输出
Case 1: 3
Case 2: 5
------解决方案--------------------
典型的带下界容量的费用流。
------解决方案--------------------
先找出整个矩阵中最小的数,然后去掉该数据处在的行与列,找子矩阵的最小数,然后去掉子矩阵的最小数所在的行与列,继续找最小数,如此做max(m,n)次,就可以找到最小和的一组数。
------解决方案--------------------
引用:
先找出整个矩阵中最小的数,然后去掉该数据处在的行与列,找子矩阵的最小数,然后去掉子矩阵的最小数所在的行与列,继续找最小数,如此做max(m,n)次,就可以找到最小和的一组数。

感觉这个思路有点问题,比如矩阵:
2 7
3 9
最小的数是2,去掉2所在的行和列,剩下9,最小数就是9,这样得到的结果是11。
而正确结果应是3+7=10。