#20530: 用空間換時間


yes51851823@gmail.com (wseds)

學校 : 國立花蓮高級工業職業學校
編號 : 108813
來源 : [114.36.212.168]
最後登入時間 :
2024-10-17 21:35:26
e623. 2. PPAP -- 2019年10月TOI練習賽新手組 | From: [114.44.215.10] | 發表日期 : 2020-02-03 23:55

可以建有10000個以上元素的vector,依照題目敘述把Pen、Pineapple、Apple、Pineapple pen塞進去

vector<string> B;
int l=1;
while(B.size()<10000){
    for(int i=0;i<l;++i){
        B.push_back("Pen");
    }
    for(int i=0;i<l;++i){
        B.push_back("Pineapple");
    }
    for(int i=0;i<l;++i){
        B.push_back("Apple");
    }
    for(int i=0;i<l;++i){
        B.push_back("Pineapple pen");
    }
    ++l;
}


再輸出所輸入數字對應的字串,缺點就是會用掉不少記憶體@@

 
#33936: Re: 用空間換時間


wrr606@gmail.com (Function)

學校 : 國立金門大學
編號 : 133433
來源 : [59.120.127.181]
最後登入時間 :
2024-10-22 14:45:37
e623. 2. PPAP -- 2019年10月TOI練習賽新手組 | From: [1.172.132.242] | 發表日期 : 2023-02-14 23:08

可以建有10000個以上元素的vector,依照題目敘述把Pen、Pineapple、Apple、Pineapple pen塞進去

vector B;
int l=1;
while(B.size()<10000){
    for(int i=0;i
        B.push_back("Pen");
    }
    for(int i=0;i
        B.push_back("Pineapple");
    }
    for(int i=0;i
        B.push_back("Apple");
    }
    for(int i=0;i
        B.push_back("Pineapple pen");
    }
    ++l;
}


再輸出所輸入數字對應的字串,缺點就是會用掉不少記憶體@@

可以使用map來做,這樣能減少大量記憶體,而且也能在3ms

 
ZeroJudge Forum