首页 > 学院 > 开发设计 > 正文

P1012 拼数

2019-11-14 09:11:04
字体:
来源:转载
供稿:网友

题目描述

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

样例输入

313 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.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表