PAT 1038. Recover the Smallest Number (30) 字符串大小比较
来源:互联网 发布:大陆如何制裁台湾 知乎 编辑:程序博客网 时间:2024/06/05 06:20
1038. Recover the Smallest Number (30)
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 87Sample Output:
22932132143287
想了半天没想明白怎么判断两个字符串的排序关系,比如 578和5781这种。看了人家的比较,拍案叫绝。
附上我的代码
#include<string>#include<stdio.h>#include<iostream>#include<string.h>#include<queue>#include<algorithm>using namespace std; bool cmp1(string x,string y) { string xy=""; string yx=""; xy+=x; xy+=y; yx+=y; yx+=x; return xy<yx; } int main(){ int n; cin>>n; string aa[10005]; for(int i=0;i<n;i++) cin>>aa[i]; sort(aa,aa+n,cmp1); string last=""; for(int i=0;i<n;i++) last+=aa[i]; int p=0; while(last[p]=='0') p++; if(p==last.size()) cout<<'0'; else for(;p<last.size();p++) cout<<last[p]; return 0;}
- PAT 1038. Recover the Smallest Number (30) 字符串大小比较
- 1038. Recover the Smallest Number (30)-PAT
- PAT 1038. Recover the Smallest Number (30)
- 【PAT】1038. Recover the Smallest Number (30)
- [pat]1038. Recover the Smallest Number (30)
- pat 1038. Recover the Smallest Number (30)
- PAT 1038. Recover the Smallest Number (30)
- PAT 1038. Recover the Smallest Number
- PAT 1038. Recover the Smallest Number
- PAT 1038. Recover the Smallest Number
- PAT 1038. Recover the Smallest Number
- 【PAT】1038. Recover the Smallest Number
- PAT--1038. Recover the Smallest Number
- PAT 1049Recover the Smallest Number (30)
- pat-a1038. Recover the Smallest Number (30)
- PAT A1038 recover the smallest number (30)
- PAT A 1038. Recover the Smallest Number (30)
- PAT (Advanced) 1038. Recover the Smallest Number (30)
- 【LCT】一步步地解释Link-cut Tree
- 2017.08.28 搜狐笔试题 六种体积包裹装箱子求最少箱子数量
- Test 9 for NOIP- Result for Day2
- JDBC使用步骤过程
- 51nod 1003 阶乘后面0的数量
- PAT 1038. Recover the Smallest Number (30) 字符串大小比较
- Java多线程详解【转】
- python 实战request 1-1
- jquery选择器
- 2018搜狐秋招笔试题2 最少包裹数
- 关于String和StringBuffer的常见问题
- [bzoj-1051] [HAOI2006]受欢迎的牛
- HDU
- javaee学习日记之java基础之jdbc