洛谷 拼數(P1012,排序)

2021-10-07 22:41:28 字數 631 閱讀 7854

設有 n 個正整數 a1​…an​,將它們聯接成一排,相鄰數字首尾相接,組成乙個最大的整數。

輸入格式 第一行有乙個整數,表示數字個數 n。

第二行有 n 個整數,表示給出的 n個整數 ai​。

輸出格式 乙個正整數,表示最大的整數

輸入輸出樣例輸入3

13 312 343

輸出34331213輸入4

7 13 4 246

輸出7424613

說明/提示 對於全部的測試點,保證 1≤n≤20,1≤ai≤10^9。

#include

using

namespace std;

//本題看起來是對數字排序,但是直接使用字串反而非常好做

bool

cmp(string a,string b)

//這些組合方式能直接體現兩個字串的「優先順序」!非常巧妙,a+b組合出來的數字大說明

intmain()

sort

(s,s+n,cmp)

;//排序規則非常關鍵

for(

int i=

0;i)//system("pause");

return0;

}

洛谷 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或...