範例輸入 :
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;
}
 
arrow
arrow
    文章標籤
    C數獨設計
    全站熱搜

    東勢厝滴yang 發表在 痞客邦 留言(0) 人氣()