1. 程式人生 > >Luogu P1012 拼數

Luogu P1012 拼數

輸入 輸入輸出格式 div iostream for clas 描述 例如 ret

P1012 拼數

題目描述

設有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
輸出樣例#1:
34331213

說明

1998noip提高組

  這可以說是一道非常簡單的題了(stl大法好)

  string一上,誰與爭鋒?

  直接看代碼吧。

 1 #include <iostream>
 2 #include <string>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 string str[25];
 7 
 8 int cmp(string a, string b)
 9 {
10     return a+b>b+a;    //特別要註意這裏
11 }                    // "10"+"1" > "1"+"10"的區別
12 
13 int main()
14 {
15     int
n; 16 cin >> n; 17 for(int i=1; i<=n; i++) 18 cin >> str[i]; 19 sort(str+1, str+1+n, cmp); 20 for(int i=1; i<=n; i++) 21 cout << str[i]; 22 return 0; 23 }

Luogu P1012 拼數