P1012 拼数

    xiaoxiao2021-03-26  27

    题目描述

    有n个数字,将它们连在一起组成一个最大的数字。

    样例输入

    3 13 312 343

    样例输出

    34331213

    思路

    O(n^2) 这道题不能够直接排序,比如3和23,但是233比323大,所以采用两两组合再进行比较,字符串会自行按照字典序比较。 var n,i,j,x:longint; s:array[0..233] of string; begin readln(n); for i:=1 to n do begin read(x); str(x,s[i]); end; for i:=1 to n-1 do for j:=i+1 to n do if s[i]+s[j]<s[j]+s[i] then begin s[0]:=s[i]; s[i]:=s[j]; s[j]:=s[0]; end; for i:=1 to n do write(s[i]); end.
    转载请注明原文地址: https://ju.6miu.com/read-661849.html

    最新回复(0)