HDU_1035_水

http://acm.xidian.edu.cn/problem.php?id=1035

 

本来想用goto优化一下的,不知道什么情况,加了goto就wa了。

 

#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<algorithm>
#include<set>
using namespace std;

int a[10][10];
int x[9] = {1,1,1,4,4,4,7,7,7},y[9] = {1,4,7,1,4,7,1,4,7};

set<int> s;
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int flag = 1;
        for(int i = 1;i <= 9;i++)
        {
            s.clear();
            for(int j = 1;j <= 9;j++)
            {
                scanf("%d",&a[i][j]);
                if(a[i][j] == 0 || a[i][j] > 9)    flag = 0;
                s.insert(a[i][j]);
            }
            if(s.size() != 9)    flag = 0;
        }
        for(int j = 1;j <= 9;j++)
        {
            s.clear();
            for(int i = 1;i <= 9;i++)    s.insert(a[i][j]);
            if(s.size() != 9)    flag = 0;
        }
        for(int k = 0;k < 9;k++)
        {
            s.clear();
            for(int i = x[k],cnt1 = 0;cnt1 < 3;i++,cnt1++)
            {
                for(int j = y[k],cnt2 = 0;cnt2 < 3;j++,cnt2++)    s.insert(a[i][j]);
            }
            if(s.size() != 9)    flag = 0;
        }
        there:
        if(flag)    printf("yes\n");
        else        printf("no\n");
    }
    return 0;
} 

 

posted @ 2016-10-12 16:04  zzzzzzzzhu  阅读(191)  评论(0编辑  收藏  举报