国产探花免费观看_亚洲丰满少妇自慰呻吟_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 類型轉換

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉林省| 建昌县| 连云港市| 楚雄市| 钦州市| 济阳县| 南通市| 湟中县| 嫩江县| 扶沟县| 纳雍县| 台中市| 庆云县| 东港市| 中西区| 阿合奇县| 略阳县| 大兴区| 二手房| 东兴市| 调兵山市| 保山市| 平江县| 涡阳县| 邻水| 巴楚县| 保德县| 崇仁县| 南丰县| 德兴市| 南通市| 庄河市| 精河县| 盘山县| 和平区| 信阳市| 叙永县| 深泽县| 枣强县| 大兴区| 平和县|