c++递归解数独方法示例
本文导语: 代码如下:#include using namespace std; void init();void function(int m); int canplace(int row,int col,int c); void outputresult(); int a[9][9], maxm = 0; int main() { init(); function(0); return 0; } void init(){ int i, j; for(i = 0; i < 9; i++) { for(j = 0; j < 9; j++) { ...
#include
using namespace std;
void init();
void function(int m);
int canplace(int row,int col,int c);
void outputresult();
int a[9][9], maxm = 0;
int main()
{
init();
function(0);
return 0;
}
void init()
{
int i, j;
for(i = 0; i < 9; i++)
{
for(j = 0; j < 9; j++)
{
cin >> a[i][j];
}
}
}
void function(int m)
{
int i, j, row, col;
if (m >= 81)
{
outputresult();
}
else
{
row = m / 9;
col = m % 9;
if(a[row][col] != 0)
{
function(m+1);
}
for(i = 1; i