#795: TLE能幫幫忙嗎?


pcsh710720 (∫tanxdx=-㏑|cosx|+C)

學校 : 新北市立板橋高級中學
編號 : 2491
來源 : [140.120.19.1]
最後登入時間 :
2015-09-30 13:22:17
a016. 數獨(SUDOKU) | From: [119.77.209.77] | 發表日期 : 2008-10-28 20:15

#include<iostream>
using namespace std;
int main(){
 int x[9][9];
 int y,z,a,b;
first :
 while(1){
  for(y=0;y<9;y++){
   for(z=0;z<9;z++){
    cin>>x[y][z];
   }
  }
  for(a=0;a<9;a++){//橫行
   for(y=0;y<9;y++){
    for(z=0;z<9;z++){
     if(y==z){
      continue;
     }
     if(x[a][y]==x[a][z]){
      cout<<"no"<<endl;
      goto first;//跳出
     }
    }
   }
  }
  for(a=0;a<9;a++){//直行
   for(y=0;y<9;y++){
    for(z=0;z<9;z++){
     if(y==z){
      continue;
     }
     if(x[y][a]==x[z][a]){
      cout<<"no"<<endl;
      goto first;
     }
    }
   }
  }
  for(a=0;a<3;a++){//左上
   for(y=0;y<3;y++){
    for(b=0;b<3;b++){
     for(z=0;z<3;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=3;a<6;a++){//上
   for(y=0;y<3;y++){
    for(b=3;b<6;b++){
     for(z=0;z<3;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=6;a<9;a++){//右上
   for(y=0;y<3;y++){
    for(b=6;b<9;b++){
     for(z=0;z<3;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=0;a<3;a++){//左
   for(y=3;y<6;y++){
    for(b=0;b<3;b++){
     for(z=3;z<6;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=3;a<6;a++){//中
   for(y=3;y<6;y++){
    for(b=3;b<6;b++){
     for(z=3;z<6;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=6;a<9;a++){//右
   for(y=3;y<6;y++){
    for(b=6;b<9;b++){
     for(z=3;z<6;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=0;a<3;a++){//左下
   for(y=6;y<9;y++){
    for(b=0;b<3;b++){
     for(z=6;z<9;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=3;a<6;a++){//下
   for(y=6;y<9;y++){
    for(b=3;b<6;b++){
     for(z=6;z<9;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
     }
    }
   }
  }
  for(a=6;a<9;a++){//右下+完結
   for(y=6;y<9;y++){
    for(b=6;b<9;b++){
     for(z=6;z<9;z++){
      if(a==b&&y==z){
       continue;
      }
      if(x[a][y]==x[b][z]){
       cout<<"no"<<endl;
      goto first;
      }
      if((a==8&&y==8)&&(b==8&&z==7)){
       cout<<"yes"<<endl;
       goto first;
      }
     }
    }
   }
  }
 }
#923: Re:TLE能幫幫忙嗎?


j2612280 (翔風~安)

學校 : 國立臺北教育大學
編號 : 3755
來源 : [120.127.36.184]
最後登入時間 :
2014-01-03 15:39:37
a016. 數獨(SUDOKU) | From: [203.72.114.2] | 發表日期 : 2008-11-12 19:37

#include<iostream>using namespace std;int main(){ int x[9][9]; int y,z,a,b;first : while(1){  for(y=0;y<9;y++){   for(z=0;z<9;z++){    cin>>x[y][z];   }  }  for(a=0;a<9;a++){//橫行   for(y=0;y<9;y++){    for(z=0;z<9;z++){     if(y==z){      continue;     }     if(x[a][y]==x[a][z]){      cout<<"no"<<endl;      goto first;//跳出     }    }   }  }  for(a=0;a<9;a++){//直行   for(y=0;y<9;y++){    for(z=0;z<9;z++){     if(y==z){      continue;     }     if(x[y][a]==x[z][a]){      cout<<"no"<<endl;      goto first;     }    }   }  }  for(a=0;a<3;a++){//左上   for(y=0;y<3;y++){    for(b=0;b<3;b++){     for(z=0;z<3;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=3;a<6;a++){//上   for(y=0;y<3;y++){    for(b=3;b<6;b++){     for(z=0;z<3;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=6;a<9;a++){//右上   for(y=0;y<3;y++){    for(b=6;b<9;b++){     for(z=0;z<3;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=0;a<3;a++){//左   for(y=3;y<6;y++){    for(b=0;b<3;b++){     for(z=3;z<6;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=3;a<6;a++){//中   for(y=3;y<6;y++){    for(b=3;b<6;b++){     for(z=3;z<6;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=6;a<9;a++){//右   for(y=3;y<6;y++){    for(b=6;b<9;b++){     for(z=3;z<6;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=0;a<3;a++){//左下   for(y=6;y<9;y++){    for(b=0;b<3;b++){     for(z=6;z<9;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=3;a<6;a++){//下   for(y=6;y<9;y++){    for(b=3;b<6;b++){     for(z=6;z<9;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }     }    }   }  }  for(a=6;a<9;a++){//右下+完結   for(y=6;y<9;y++){    for(b=6;b<9;b++){     for(z=6;z<9;z++){      if(a==b&&y==z){       continue;      }      if(x[a][y]==x[b][z]){       cout<<"no"<<endl;      goto first;      }      if((a==8&&y==8)&&(b==8&&z==7)){       cout<<"yes"<<endl;       goto first;      }     }    }   }  } }}



應該是因為while(1)

造成無窮迴圈

 
#946: Re:TLE能幫幫忙嗎?


pcsh710720 (∫tanxdx=-㏑|cosx|+C)

學校 : 新北市立板橋高級中學
編號 : 2491
來源 : [140.120.19.1]
最後登入時間 :
2015-09-30 13:22:17
a016. 數獨(SUDOKU) | From: [119.77.209.77] | 發表日期 : 2008-11-16 15:00

我解別題時用while(1)也AC耶
應該不是這ㄍ問題


 
#959: Re:TLE能幫幫忙嗎?


shane0000028 (賢賢易色)

學校 : 國立政治大學附屬高級中學
編號 : 2777
來源 : [1.161.29.191]
最後登入時間 :
2022-02-19 22:34:31
a016. 數獨(SUDOKU) | From: [163.20.242.67] | 發表日期 : 2008-11-18 13:05

goto first;

break;

 

 
#10969: Re:TLE能幫幫忙嗎?


zen870124 (zen87124)

學校 : 國立嘉義高級中學
編號 : 35917
來源 : [140.135.11.171]
最後登入時間 :
2020-08-20 18:17:42
a016. 數獨(SUDOKU) | From: [223.138.169.47] | 發表日期 : 2016-05-29 22:14

#include
using namespace std;
int main(){
 int x[9][9];
 int y,z,a,b;
first :
 while(1){

 

//scanf()回傳值是 配對成功的數目

改成while(scanf("%d",&num[0][0])==1)
不要用while(1)試試看

 
ZeroJudge Forum