国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

1038. Recover the Smallest Number (30)

2019-11-14 11:20:39
字體:
來源:轉載
供稿:網友

題目鏈接:https://www.patest.cn/contests/pat-a-PRactise/1038 Given a collection of number segments, you are supposed to recover the smallest number from them. For example, given {32, 321, 3214, 0229, 87}, we can recover many numbers such like 32-321-3214-0229-87 or 0229-32-87-321-3214 with respect to different orders of combinations of these segments, and the smallest number is 0229-321-3214-32-87.

Input Specification:

Each input file contains one test case. Each case gives a positive integer N (<=10000) followed by N number segments. Each segment contains a non-negative integer of no more than 8 digits. All the numbers in a line are separated by a space.

Output Specification:

For each test case, print the smallest number in one line. Do not output leading zeros.

Sample Input: 5 32 321 3214 0229 87 Sample Output: 22932132143287

#include<cstdio>#include<iostream>#include<string>#include<cstring>#include<algorithm>using namespace std;const int maxn=10010;string seg[maxn];bool cmp(string a,string b){ return a+b<b+a;//如{"321","32"},"32"<"321",但32321>32132,因此不能直接return a<b,應該return a+b<b+a; }int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++){ cin>>seg[i]; } sort(seg,seg+n,cmp); string ans; for(int i=0;i<n;i++){ ans+=seg[i]; } while(ans.size()!=0&&ans[0]=='0'){ ans.erase((ans.begin())); } if(ans.size()==0) cout<<0; else cout<<ans; return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舞阳县| 彭山县| 嘉善县| 大洼县| 利辛县| 怀来县| 磴口县| 大城县| 沿河| 日照市| 正阳县| 台安县| 白水县| 中山市| 罗平县| 乌鲁木齐县| 石首市| 乌鲁木齐县| 南宫市| 昔阳县| 金秀| 夏河县| 香格里拉县| 孝义市| 汉沽区| 隆昌县| 南昌市| 城固县| 上高县| 弥勒县| 乳源| 乐安县| 石狮市| 柘城县| 项城市| 锡林浩特市| 慈溪市| 九龙县| 海安县| 寻乌县| 孟州市|