#16402: C語言 (僅供參考)


joann129 (Yu Xiao)

學校 : 逢甲大學
編號 : 61368
來源 : [114.26.64.197]
最後登入時間 :
2019-02-01 13:05:06
a016. 數獨(SUDOKU) | From: [114.26.71.189] | 發表日期 : 2018-12-29 16:21

主要分成 每行 每列 和每個九宮格

加起來都要為45 不是就printf no

 

#include <stdio.h>
#include <stdlib.h>
#define ROW 9
#define COL 9

int main ( void ) {

int maze[9][9], i, j, sum = 0, flag = 0, m, n;
while(1) {

for( i = 0; i < ROW; i++ ) {

for( j = 0; j < COL; j++ ) {

m = scanf( "%d", &maze[i][j] );

if( m == -1 )

return 0;

sum += maze[i][j];

}
if( sum != 45 )

flag = 1;

sum = 0;

}
for( i = 0; i < ROW; i++ ) {

for( j = 0; j < COL; j++ )

sum += maze[j][i];

if( sum != 45 )

flag = 1;

sum = 0;

}

for( i = 0; i < 9; i += 3 ) {

for( j = 0; j < 9; j += 3 ) {

for( m = i; m < i + 3; m++ ) {

for( n = j; n < j + 3; n++ )

sum += maze[m][n];

}
if( sum != 45 )

flag = 1;

sum = 0;

}

}

if( flag == 1 ) {

printf( "no\n" );
flag = 0;

}
else

printf( "yes\n" );

}

}

 

 

 
ZeroJudge Forum