洛谷 1012——拼数(字符串处理)

题目描述

设有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


选择排序,如果b[i]+b[j]

var
  b:array[1..100] of string;
  i,j,k,n:integer;
  tmps:string;
begin
  read(n);
  for i:=1 to n do 
    begin
      read(k);
      str(k,b[i]);
    end;
  for i:=1 to n-1 do
    for j:=i+1 to n do
       if ((b[i]+b[j])<(b[j]+b[i]))then 
         begin
           tmps:=b[j];b[j]:=b[i];b[i]:=tmps;
         end;
  for i:=1 to n do write(b[i]);
  writeln;
end.
posted @ 2017-02-11 16:20  BEYang_Z  阅读(112)  评论(0编辑  收藏  举报