给定一个整数N,其中N <= 100。是否存在一个大小为NxN的Hadamard矩阵,使得:
- 矩阵的每个元素都是1或-1。
- 任意两行对应元素的积之和为零,即对于任何a<=N和b<=N,M[a][1] * M[b][1] + M[a][2] * M[b][2]...M[a][n] * M[b][n] = 0(考虑基于1的索引)。
我所做的:
我尝试了一种暴力解决方案。每个元素可以是1或-1。因此最多可能有2^(n^2)个矩阵。我尝试检查所有这些矩阵,但算法速度太慢了。实际上是O(n^2 * (2^(n^2)))。我的计算机对于n = 5没有显示任何输出,我不得不终止程序。
有人能否建议更好的方法来解决这个问题?
编辑:您不仅需要回答是或否,还要枚举一个这样的矩阵。显然,当N为奇数时,答案是不可能的。 N = 1是一个微不足道的情况,答案为1或-1。