今天晚上在刷PAT甲级1038题时,了解到对于string型下的字符串S1和S2,S1+S2表示的是这两个字符串的拼接。字符串的拼接对于本题可以提供一个较优的贪心算法。
对于字符串S1="321"和S2="32",求这两个字符串能组成的最小数,显然只有两种组合搭配。S1+S2="32132",S2+S1="32321",显然最小的是32132。所以应该将S1在排序时放到S2的前面。下面是具体实现方法。
bool cmp(string a,string b){
return a+b }
string str[maxn];
sort(str,str+n,cmp);
菜鸡一枚,巨佬勿喷



