问题描述:
一个4 阶Latin 方是一个4×4 的方格,在它的每个方格内填入1,2,3
或者4,并使得每个数字在每行、每列都恰好出现一次。用回溯法求出所有第一行为1,2,3,4 的4阶Latin 方。将每个解的第2-4
行的数字从左到右写成一个序列。例如图中的Latin
方对应于解:<3,4,1,2,4,3,2,1,2,1,4,3>。

算法实现:
#include <iostream.h>
int Latin[4][4];
int count = 0;
int IsOK(int r, int c, int v)
{
for(int i=0; i<r; i++)
if(Latin[i][c] == v)
return 0;
for(int j=0; j<c; j++)
if(Latin[r][j] == v)
return 0;
return 1;
}
void BackTrace(int l)
{
if(l == 17)
{//得到一组可行解
算法实现:
#include <iostream.h>
int Latin[4][4];
int count = 0;
int IsOK(int r, int c, int v)
{
}
void BackTrace(int l)
{
