系統說我只輸出一行
改如何處理?
#include <stdio.h>
int tell_number(int n,int sudoku[9][9])
{
int i,j,k=0,test;
int conflict;
int row,col;
if(n==81)
{
return 1;
}
row=n/9;
col=n%9;
test=sudoku[row][col];
conflict=0;
for(i=0;i<9&&!conflict;i++)
{
if(((col!=i)&&(sudoku[row][i]==test))||((row!=i)&&(sudoku[i][col]==test)))
{
conflict=1;
return 0;
}
}
if(!conflict)
{
if(((row==0)||(row==3)||(row==6))&&((col==0)||(col==3)||(col==6)))
{
for(i=0;i<3&&!conflict;i++)
{
for(j=0;j<3&&!conflict;j++)
{
k=k+sudoku[row+i][col+j];
}
}
if(k!=45)
{
conflict=1;
return 0;
}
}
}
if(!conflict)
tell_number(n+1,sudoku);
}
int main(void)
{
int i,j,k,count=0;
while(count<7)
{
int sudoku[9][9];
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
scanf("%d",&sudoku[i][j]);
}
}
k=tell_number(0,sudoku);
if(k==1)
printf("yes");
else
printf("no");
return 0;
count++;
}
}