- 数独验证
- 2018-01-21 15:02:11 @
#include<cstdio>
#include<cstring>
int a[10][10],n;
bool f[9],pd;
int main()
{
scanf("%d",&n);
while(n--)
{
pd=true;
for(int i=1;i<=9;i++)
for(int j=1;j<=9;j++) scanf("%d",&a[i][j]);
for(int i=1;i<=9;i++)
{
memset(f,false,sizeof(f));
for(int j=1;j<=9;j++) f[a[i][j]]=true;
for(int j=1;j<=9;j++)
if(!f[j])
{
printf("Wrong\n");
pd=false; break;
}
if(!pd) break;
memset(f,false,sizeof(f));
for(int j=1;j<=9;j++) f[a[j][i]]=true;
for(int j=1;j<=9;j++)
if(!f[j])
{
printf("Wrong\n");
pd=false; break;
}
if(!pd) break;
}
if(!pd) continue;
for(int i=0;i<=2;i++)
{
for(int j=0;j<=2;j++)
{
memset(f,false,sizeof(f));
for(int k=1;k<=3;k++)
for(int l=1;l<=3;l++) f[a[i*3+k][j*3+l]]=true;
for(int k=1;k<=9;k++)
if(!f[k])
{
printf("Wrong\n");
pd=false; break;
}
if(!pd) break;
}
if(!pd) break;
}
if(!pd) continue;
printf("Right\n");
}
}
2 条评论
-
宗大大 LV 7 @ 2018-07-25 09:19:26
me too
-
2018-01-21 15:02:26@
就A了4个点
- 1