#11810: 改善TLE


pyramid (Pyramid)


#include<stdio.h>
#include<stdlib.h>

int main(void){
int sudo[9][9];
int x,y,k;
int sum;

while(1){

for(x=0;x<9;x++){
    for(y=0;y<9;y++){
        scanf("%d",&sudo[x][y]);
    }
}

for(x=0;x<9;x++){
    sum=0;
    for(y=0;y<9;y++){
        sum=sudo[x][y]+sum;
    }
    if(sum!=45){
        printf("no\n");
        return 0;
    }
}

for(x=0;x<9;x++){
    sum=0;
    for(y=0;y<9;y++){
        sum=sum+sudo[y][x];
    }
    if(sum!=45){
        printf("no\n");
        return 0;
    }
}

int o,o2;
for(o=0;o<9;o+=3){
    for(o2=0;o2<9;o2+=3){
    sum=0;
        for(x=o;x<x+3;x++){
            for(y=o2;y<y+3;y++){
                sum=sudo[x][y]+sum;
            }
        }
        if(sum!=45){
              prinft("no\n");
              return 0;
        }
    }
}

printf("yes\n");

return 0;



}
}

 

這是我想到的解法,用這種解法有辦法更快嗎?

或是必須使用其他種解法?