字串處理洛谷P1012拼數

2021-10-02 18:14:20 字數 875 閱讀 3890

剛開始並沒有想到字串排序,想用整數一位一位比較,想了半天感覺太難了,然後想到了字串排序,寫完高興怎麼這麼簡單,結果一提交wa了乙個點,一看原來32,321的組合最大是32321,而字串排序的話321>32這就有問題了,於是修改了排序

#include

#include

#include

#include

#include

#include

using

namespace std;

string arr[21]

;int

cmp(string a, string b)

string c =

max(a, b)

; string d =

min(a, b)

;for

(int i = k; i < c.

length()

; i++

)else

if(d[i - k]

< c[i])}

return a > b;

}int

main()

對於超出的字元乙個乙個比較,這個方法可以過,但是有點煩,看題解又看到了大佬的巧妙方法

#include

#include

#include

#include

#include

#include

using

namespace std;

string arr[21]

;int

cmp(string a, string b)

intmain()

洛谷 P1012 拼數

大約有兩種方法 來處理 用字串來比較兩數字 solution 1 p1012 拼數 include include include include include define maxn 21 using namespace std int n,i string s maxn bool cmp st...

洛谷P1012 拼數

有n個正整數 n 20 將它們聯接成一排,組成乙個最大的多位整數。例如 n 3時,3個整數13,312,343聯接成的最大整數為 34331213 又如 n 4時,44個整數7,13,4,246聯接成的最大整數為 7424613 輸入輸出格式 輸入格式 第一行,乙個正整數n。第二行,n個正整數。輸出...

洛谷P1012(拼數)

設有 n 個正整數 a1 an a 1 dots a n a1 an 將它們聯接成一排,相鄰數字首尾相接,組成乙個最大的整數 第一行有乙個整數,表示數字個數 n。第二行有 n 個整數,表示給出的 n 個整數 a ia i ai 乙個正整數,表示最大的整數 對於這一題,我剛開始還是想老老實實用int或...