题目描述:
题目链接: UESTC 1805 矩阵
题目大意:
求有多少个不相同的,大小为N×M的矩阵使得每一行元素的乘积和每一列元素的乘积均为K(K=1或-1)。
输入格式:
输入只有一行,三个数字N,M,K。(1≤N≤6,1≤M≤7,K=1或者−1)
输出格式:
输出一个数字,即满足条件的不同矩阵的数量。
样例输入:
2 2 1
样例输出:
2
题目分析:
这道题本身数据较小,可以暴力过,虽然我觉得暴力也不好写。还是推导一下正解:
首先当K=1时,对于N×M的矩阵,假设已有一个任意的(N-1)×(M-1)的矩阵。我们先考虑行,无论第i行的M-1个元素的乘积是1还是-1,我们都可以在对应的第i行的第M列填上1或-1,使得第i行的乘积为1。同样的,对于每一列,我们也可以在这一列的第M行填上1或-1,使得这一列的乘积为1。这样前N-1行和M-1列就满足条件了。现在来考虑第N行和第M列,事实上,前面填上的第N行的前M-1个元素和第M列的前N-1个元素乘积是一样的,所以在第N行第M列的位置可以填上相应的1或-1,使得第N行和第M列的乘积都是1。
那么可得到结论:对于任意的(N-1)×(M-1)的矩阵都可找到唯一的与之对应的符合题目要求的N×M的矩阵。所以答案就是 2