範例輸入 :
12345
12345
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 1
3 4 5 6 7 8 9 1 2
4 5 6 7 8 9 1 2 3
5 6 7 8 9 1 2 3 4
6 7 8 9 1 2 3 4 5
7 8 9 1 2 3 4 5 6
8 9 1 2 3 4 5 6 7
9 1 2 3 4 5 6 7 8
1 9 3 2 6 5 4 7 8
7 8 2 3 1 4 9 5 6
4 5 6 9 7 8 1 3 2
2 3 4 8 5 1 6 9 7
9 6 5 4 3 7 2 8 1
8 7 1 6 9 2 3 4 5
3 1 9 5 8 6 7 2 4
5 2 7 1 4 3 8 6 9
6 4 8 7 2 9 5 1 3
範例輸出 :
no
yes
#include<stdio.h>
int main(void)
{
int s[9][9],i,j;
int sum_LOW=0,sum_COL=0,flag=1,count=0;
int array1=0,array2=0,array3=0;
while(scanf("%d",&s[0][0])==1)
{
for(i=0;i<9;i++)
{
for(j=0;j<9;j++)
{
if(i==0&&j==0)
continue;
scanf("%d",&s[i][j]);
}
}
//判斷行,列,9宮格是否等於45
for(i=0;i=3 && j<6)
array2+=s[i][j];
else if(j>=6 && j<9)
array3+=s[i][j];
}
count++;
if(sum_LOW!=45||sum_COL!=45)
{
flag=0;
sum_LOW=0;
sum_COL=0;
}
else if(count==3)
{
if(array1!=45 || array2!=45 || array3!=45)
{
flag=0;
array1=0;
array2=0;
array3=0;
count=0;
}
count=0;
array1=0;
array2=0;
array3=0;
}
sum_LOW=0;
sum_COL=0;
}
if(flag==0)
printf("no\n");
else
printf("yes\n");
flag=1;
}
return 0;
}