#30132: 解題思路


chen199940@gmail.com (CGIBE)

學校 : 國立臺中科技大學
編號 : 179887
來源 : [59.126.118.193]
最後登入時間 :
2024-04-01 11:43:58
e942. pC. 數字排列 -- 2009大學學測推甄申請二階 | From: [36.231.208.6] | 發表日期 : 2022-04-30 19:41

重點是直接輸入數字會溢位(超過long),所以我輸入的是字串,用比較的方式去做排序

1.長度有沒有一樣

2.(條件1成立)由左到右比較字元是否相同

同=>轉ACSCII誰大

不同=>繼續執行做比較直到字串結束

bool compare(string a, string b) {
    if(a.size()!=b.size()){
        return a.size()<b.size();
    }
    else{
        for(int i=0;i<a.size();i++){
            if(a[i]!=b[i])return (int)a[i]<(int)b[i];
        }
    }
}

Main:

string line,data;
vector<string>v,v2;
cin.ignore();

getline(cin,line);
stringstream ss(line);
 while(getline(ss,data,' ')){
       v.push_back(data);
 }

sort(v.begin(),v.end(),compare);

排列組合用遞迴:不做說明

 
ZeroJudge Forum