#4024: 請問...


a5480a5480 (歐歐)

學校 : 不指定學校
編號 : 12402
來源 : [123.195.69.222]
最後登入時間 :
2023-03-31 12:40:34
d478. 共同的數 - 簡易版 | From: [123.195.112.138] | 發表日期 : 2010-07-24 14:16

第二個側資點TLE了...

想請問除了從第一個搜尋到最後一個

或者二元搜尋法

有什麼更快的方法呢??@@?

一直TLE打擊真大|||

 
#4030: Re:請問...


a5480a5480 (歐歐)

學校 : 不指定學校
編號 : 12402
來源 : [123.195.69.222]
最後登入時間 :
2023-03-31 12:40:34
d478. 共同的數 - 簡易版 | From: [123.195.112.138] | 發表日期 : 2010-07-25 13:15

#include<iostream>

using namespace std;

int main(){
    int count , total , j = 0 , k = 0 , decide = 0 ;
    scanf("%d%d" , &count , &total);
    int num , str[total];
    for(int i = 0 ; i < count ; i++){
            int sum = 0 ;
            int top = 0 ;  
            for(j = 0 ; j < total ; j++)/**輸入第一行字串*/
                    cin >> str[j];
            for(int k = 0 ; k < total ; k++){
                    cin >> num; /**讀取*/
                    for(j = top ; j < total ; j++)/**搜尋*/
                          if(num < str[j]){/**如果字串大於搜尋,因為題目字串是循序*/
                                    top = j ;
                                    break;
                          }
                          else if(num == str[j]){/**如果相等*/
                                    top = j ;
                                    sum++ ;
                                    break;
                          }
            }
            cout << sum << endl;
    }
    system("PAUSE");
    return 0;
}

這是我的程式碼,

請高手給個指教謝謝!!


 
#4031: Re:請問...


a5480a5480 (歐歐)

學校 : 不指定學校
編號 : 12402
來源 : [123.195.69.222]
最後登入時間 :
2023-03-31 12:40:34
d478. 共同的數 - 簡易版 | From: [123.195.112.138] | 發表日期 : 2010-07-25 13:24

已解決T_T(感動)

謝謝!!



 
ZeroJudge Forum