假设您有一个初始N-by-N矩阵,所有对角线元素都等于零。您希望生成所有可能的N-by-N矩阵,以便:
例如,对于这个3乘3的初始矩阵:
<?php
include 'connect.php';
$user = $_SESSION['id'];
$getfaves = mysql_query("SELECT postid FROM Favourites where userid='$user'") or die(mysql_query());
if ($rowfave = mysql_fetch_assoc($getfaves))
{
$faveposts = $rowfave['id'];
$getposts = mysql_query("SELECT * FROM Posts where id='$faveposts' ORDER BY id DESC");
while ($row = mysql_fetch_assoc($getposts))
{
$content = 'content';
echo ($content);
}
}
?>
一种可能的变化是:
0 1 3
2 0 1
3 2 0
答案 0 :(得分:1)
答案的初步想法,当然可以进一步改进。
您可以开始考虑一种方法来制作在对角线上具有零的矩阵,以及行和列总和为零的矩阵。如果这些可以很容易地构建,那么你可以通过添加你的所有初始矩阵来获得你的结果。
e.g:
[ 0 1 -2 1;
1 0 -1 0;
-1 2 0 -1;
0 -3 3 0];
你甚至可以限制这些帮手&#39;矩阵在每行/每列上最多只有一个1和一个-1。所有其他人都可以用它们构建。
e.g。
A = [ 0 -1 2 -1;
2 0 -2 0;
-2 1 0 1;
0 0 0 0];
B = [ 0 -1 1 0;
1 0 -1 0;
-1 1 0 0;
0 0 0 0];
C = [ 0 0 1 -1;
1 0 -1 0;
-1 0 0 1;
0 0 0 0];
% A equals B+C
我认为这至少可以减少你的问题。祝你好运!