題目:給出一組數,把這些數連接起來形成一個大數。
出處:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1846
數據很大,使用long long都會溢出,所以要使用字符代表數值。
一個知識點: 注意比較排序的比較函數 - 就是這裡卡了一下,不能是按字典順序排序,而是要有特殊寫法, 如下cmp函數。
bool cmp(const string &a,const string &b)
{
return (a+b vs;
string s;
while (cin>>n && 0 != n)
{
for (long long i = 0; i < n; i++)
{
cin>>s;
vs.push_back(s);
}
sort(vs.begin(), vs.end(), cmp);
for (long long i = vs.size() - 1; i >= 0 ; i--)
{
cout<