#16914: 請問一下,為什麼第三個和第五個測資會TLE


easylin0126@gmail.com (林榮翼)

學校 : 臺北市立成功高級中學
編號 : 89424
來源 : [140.114.207.162]
最後登入時間 :
2023-09-27 16:33:24
b523. 先別管這個了,你聽過安麗嗎? -- 104學年度板橋高中校內資訊學科能力競賽(一) | From: [27.242.190.154] | 發表日期 : 2019-02-19 23:12

#include<stdio.h>
#include<string.h>
char a[500][10000];
int main(){
int i=0,j;
char *ptr,b[10000];
while(gets(b)!=NULL){
for(j=0;j<i;j++){
if(strcmp(b,a[j])==0){
printf("YES\n");
goto jump;
}
}
for(j=0;j<strlen(b);j++){
ptr=&b[j];
a[i][j]=*ptr;
ptr++;
}
printf("NO\n");
i++;
jump:;
}
}

 
#16918: Re:請問一下,為什麼第三個和第五個測資會TLE


asnewchien@gmail.com (david)

學校 : 不指定學校
編號 : 68108
來源 : [1.168.27.172]
最後登入時間 :
2024-04-24 20:07:19
b523. 先別管這個了,你聽過安麗嗎? -- 104學年度板橋高中校內資訊學科能力競賽(一) | From: [36.233.38.201] | 發表日期 : 2019-02-20 13:52

如果你每次都從頭找,時間會比較久。

 

假設我開 26 個陣列

第 1 個只存 A 開頭的 str

第 2 個只存 B 開頭的 str

 

遇到 A 開頭的字串就存到 A 使用的陣列

查字串的時候,也是到相對應的陣列找,

應該可以省些時間。

 
#16920: Re:請問一下,為什麼第三個和第五個測資會TLE


easylin0126@gmail.com (林榮翼)

學校 : 臺北市立成功高級中學
編號 : 89424
來源 : [140.114.207.162]
最後登入時間 :
2023-09-27 16:33:24
b523. 先別管這個了,你聽過安麗嗎? -- 104學年度板橋高中校內資訊學科能力競賽(一) | From: [39.10.62.20] | 發表日期 : 2019-02-20 22:41

如果你每次都從頭找,時間會比較久。

 

假設我開 26 個陣列

第 1 個只存 A 開頭的 str

第 2 個只存 B 開頭的 str

 

遇到 A 開頭的字串就存到 A 使用的陣列

查字串的時候,也是到相對應的陣列找,

應該可以省些時間。



謝謝你,我再試試看!!

 
ZeroJudge Forum