1107最大整數

2021-08-09 05:33:29 字數 1195 閱讀 4422

設有n個正整數 (n<=20), 將它們連線成一排, 組成乙個最大的多位整數.

例如: n=3時, 3個整數13, 312, 343連線成的最大整數為: 34331213

又如: n=4時, 4個整數7,13,4,246連線成的最大整數為: 7424613

輸入格式:

n n個數

輸出格式:

連線成的多位數

輸入樣例#1:

3

13 312 343

47 13 4 246

輸出樣例#1:

34331213

7424613

自己寫的**

error

#include

#include

using namespace std;

struct stuarr[21];

bool cmp(stu x,stu y)

int main()

}

#include#include#include#include#includeusing namespace std;

int n;

string st[100];

bool cmp(string a,string b)

int main()

{ scanf("%d",&n);

for (int i=1;i<=n;i++) cin>>st[i];

sort(st+1,st+n+1,cmp);//把n個字串排序,是從大到小

for (int i=1;i<=n;i++)//輸出

cout<

之所以寫成return (a+b > b+a),是因為在比對每兩個字串時,會比較不同拼接方式究竟哪種更大。例如,當遇到『313』和『9』這兩個字串時,計算機會依照字典序比較『3139』和『9313』的大小,哪種更大就依照哪種拼接在一起。而對這道題而言,區域性判斷最優可以導致全域性最優,因此以上方法是可行的。

#includeusing namespace std;

int main()

{ string str[3];

str[0]="zhou";

str[1]="xing";

str[2]="xing";

for(int i=0;i<3;i++)

cout<

P1107 最大整數

設有n個正整數 n 20 將它們連線成一排,組成乙個最大的多位整數.例如 n 3時,3個整數13,312,343連線成的最大整數為 34331213 又如 n 4時,4個整數7,13,4,246連線成的最大整數為 7424613 輸入格式 n n個數 輸出格式 連線成的多位數 輸入樣例 1 3 13...

luogu P1107 最大整數

設有n個正整數 n 20 將它們連線成一排,組成乙個最大的多位整數.例如 n 3時,3個整數13,312,343連線成的最大整數為 34331213 又如 n 4時,4個整數7,13,4,246連線成的最大整數為 7424613 輸入格式 nn個數 輸出格式 連線成的多位數 輸入樣例 1 3 13 ...

最大整數 貪心

題目描述 設有n個正整數 n 20 將它們連線成一排,組成乙個最大的多位整數.例如 n 3時,3個整數13,312,343連線成的最大整數為 34331213 又如 n 4時,4個整數7,13,4,246連線成的最大整數為 7424613 輸入輸出格式 輸入格式 n n個數 輸出格式 連線成的多位數...