題目:給出一組數,把這些數連接起來形成一個大數。
出處: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<