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

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

1038. Recover the Smallest Number (30)

2019-11-14 11:56:03
字體:
來源:轉載
供稿:網友

題目鏈接: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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江口县| 花莲市| 勃利县| 深水埗区| 二连浩特市| 高碑店市| 广平县| 海伦市| 江阴市| 镶黄旗| 澎湖县| 景泰县| 泊头市| 军事| 漳浦县| 阜新| 贺州市| 常熟市| 广汉市| 丰原市| 会同县| 沙河市| 通化县| 大埔县| 揭东县| 美姑县| 仁怀市| 怀仁县| 杂多县| 墨脱县| 洪湖市| 孙吴县| 花莲市| 松溪县| 定州市| 新干县| 玉环县| 繁昌县| 玉环县| 肥乡县| 松潘县|