#10901: [求救]請問逾時原因


testacount (NULL)


#include <stdio.h>

int A[9][9],hline[9],lline[9],M[9];
int determine(void);

int main(void)
{
int i,j,k=1;

while(k<=2)
{
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
scanf("%d",&A[i][j]);
}
hline[i]=lline[i]=M[i]=0;
}
printf("%s",(determine())?"yes":"no");
}


return 0;

}

int determine(void)
{
int i,j,k;
for(k=1;k<=9;k++)
{
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
if(A[i][j]==k)
{
if(hline[i]==k || lline[j]==k || M[3*(i%3)+(j%3)]==k)
return 0;
hline[i]=lline[j]=M[3*(i%3)+(j%3)]=k;
}
}
}
}
return 1;

}

#10902: Re:[求救]請問逾時原因


testacount (NULL)


 



抱歉剛剛還沒整理好就不小心按到發表了
以下才是整理好的
 
 
 
#include
 
int A[9][9],hline[9],lline[9],M[9];
int determine(void);
 
int main(void)
{
int i,j,k=1;
 
while(k<=2)
{
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
scanf("%d",&A[i][j]);
}
hline[i]=lline[i]=M[i]=0;
}
printf("%s",(determine())?"yes":"no");
}
 
 
return 0;
 
}
 
int determine(void)
{
int i,j,k;
 
for(k=1;k<=9;k++)
{
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
if(A[i][j]==k)
{
if(hline[i]==k || lline[j]==k || M[3*(i%3)+(j%3)]==k)
return 0;
hline[i]=lline[j]=M[3*(i%3)+(j%3)]=k;
}
}
}
}
return 1;
 
}
#10903: Re:[求救]請問逾時原因


testacount (NULL)


抱歉我還不太會使用這個討論區的排版
所以剛剛把程式碼截圖轉網址了
再麻煩有空的高手幫我看看
謝謝
 
http://imgur.com/KxAqnlK