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

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

1038. Recover the Smallest Number (30)

2019-11-14 11:53:47
字體:
來源:轉載
供稿:網友

題目鏈接: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;}
上一篇:C++ 復制構造函數

下一篇:java 類型轉換

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿坝| 霍州市| 淮阳县| 台湾省| 普陀区| 呼图壁县| 额敏县| 南江县| 松阳县| 化德县| 西林县| 石河子市| 怀来县| 古蔺县| 资中县| 治县。| 灵山县| 雅江县| 玉溪市| 成武县| 崇礼县| 漳州市| 房产| 昭通市| 静乐县| 眉山市| 苏尼特右旗| 达日县| 固阳县| 泰州市| 清远市| 拉萨市| 措勤县| 平罗县| 日土县| 满洲里市| 陈巴尔虎旗| 鄯善县| 蛟河市| 石屏县| 台中市|