#6565: 一直出現TLE


sheep522 (yung)


#include <stdio.h>

int main()
{
    int data[9][9];

    while (scanf("%d", &data[0][0])){
        int i, j, k;
        int answer = 1;

        for (i = 0; i <= 8; i++)
            for (j = 0; j <= 8; j++){
                if(i==0&&j==0)
                    continue;
                scanf("%d",&data[i][j]);
            }

        /*橫列判斷是否有數值重複*/
        for (k = 0; k <= 8; k++){
            for (i = 0; i <= 8; i++){
                for (j = 0; j <= 8; j++)
                    if (data[k][i] == data[k][j] && i != j){
                        answer = 0;
                    }
            }
        }

        /*直行判斷是否有數值重複*/
        for (k = 0; k <= 8; k++){
            for (i = 0; i <= 8; i++){
                for (j = 0; j <= 8; j++)
                    if (data[i][k] == data[j][k] && i != j){
                        answer = 0;
                    }
            }
        }

        /*九宮格判斷加起來是否等於45*/
        for (i = 0; i <= 6; i += 3){
            for (j = 0; j <= 6; j += 3){
                if ( ( data[i][j] + data[i][j+1] + data[i][j+2] +
                       data[i+1][j] + data[i+1][j+1] + data [i+1][j+2] +
                       data[i+2][j] +data[i+2][j+1] + data[i+2][j+2] )
                       != 45 )
                       answer = 0;
            }
        }
        if (answer == 1)
            printf("yes\n");
        else
            printf("no\n");

    }

    return 0;
}

一直出現逾時,我自己跑是ok 不知道問題出在哪 請高手幫忙解答

#6567: Re:一直出現TLE


linishan (L)


 

我沒看裡面程式碼

不過

while (scanf("%d", &data[0][0])){

這行請改成

while (scanf("%d", &data[0][0])!=EOF){ 

這樣應該可以解決TLE的問題 

#6569: Re:一直出現TLE


sheep522 (yung)


 

我沒看裡面程式碼

不過

while (scanf("%d", &data[0][0])){

這行請改成

while (scanf("%d", &data[0][0])!=EOF){ 

這樣應該可以解決TLE的問題 


恩 改完就成功了 太感謝了!!