矩阵中可能的组合数

时间:2012-07-11 18:55:42

标签: matrix combinations

我的同事给了我一个具有挑战性的问题,我认为这是NP,但他不会将其作为答案。

给定一个矩阵,通过每列只选择一个数字来确定有多少非重复数字/字母组合。为此,蛮力(尝试所有可能的组合)是不可接受的。他想要一个公式来解决这个问题。

例如,他给了我这个矩阵

1 2 2 3
2 3 3 4
3 4 4 5
4 5 5 6

一些示例结果将是

1)1 2 3 4
2)1 2 3 5
3)1 2 3 6
4)1 3 2 4
5)1 3 2 5
6)等......

我编写了一个java程序,它基本上由4个for循环组成,可以通过所有可能的组合(4x4x4x4 = 256个组合)来得到我认为答案是36种可能的组合。但对他来说这是不可接受的。对于解决方案,它不能独立于一个矩阵,它必须适用于所有n x n矩阵。

在我的脑子上绞尽脑汁,我相信问题是np(硬/完全),因为它可以在多项式时间内解决但是你没有通用算法......你必须暴力破解它。

非常感谢任何帮助/指针/参考地点......

0 个答案:

没有答案