#8457: 為何會tle


simultaneously (----------以上是高手------------)


#include<iostream>
#include<cstring>
using namespace std;
int main(){
    int array[9][9];
    int i,j,s1=0,s2=0;
     while(1){
              bool a=1;
     for(int i=0;i<9;i++){ 
               for(int j=0;j<9;j++){
                       cin>>array[i][j];
                       s1=s1+array[i][j];
                       s2=s2+array[j][i];}}
           if((s1||s2)!=45) a=0;
     int s3=0;
    for(int i=0;i<3;i++){ 
       for(int j=0;j<9;j++)
      { s3+=array[i*3][j]+array[i*3+1][j]+array[i*3+2][j];
        if(j%3==2&&s3==45) { s3=0; a=1;}
        else if(j%3==2&&s3!=45) {a=0; break;}
       }
       if(a==0) {break; cout<<"no\n";}
       }
       if(a==1)  cout<<"yes\n";
}  
return 0; 
}
這樣寫為什麼會tle啊?