一个关于方阵数组取值问题~
有一个由N*N个非负整数组成的方阵数组,现在规定每一行每一列只能取其中一个数,求所取的N个数的和的最小值。输入:
第一行输入正整数N构建一个N*N的方阵
接下来有N行每行输入N个非负整数构建一个N*N的方阵
输出:输出其最小值的和。
输入:
4
1 3 5 7
1 1 3 5
3 1 1 3
5 3 1 1
输出:
4
3
1 3 4
2 2 3
3 1 2
输出:
5
虽然题目只要求计算结果,但最好按行坐标来打印出其中一种最小值的取法,例如第一个案例的取法是(1,1),(2,2),(3,3),(4,4)
第二个案例有两种取法~其中一种是(1,1),(2,2),(3,3)另外一种是(1,1),(2,3),(3,2)打印其中一种就行了~
现在除了想到全组合硬来外想不到其它更好的算法~求优化啊~