龙岗高端建设网站建设,南京旅游网页设计,潍坊外贸建站,wordpress好友添加题目来源#xff1a;[NOIP1998 提高组] 拼数 - 洛谷
解题思路#xff1a;这道题重点在于怎么把数字拼接#xff0c;得到最大的值。这里可以用to_string#xff08;#xff09;函数#xff0c;将数字先转换为字符再拼接#xff0c;最后得到拼接的最大值。ps#xff1a;…题目来源[NOIP1998 提高组] 拼数 - 洛谷
解题思路这道题重点在于怎么把数字拼接得到最大的值。这里可以用to_string函数将数字先转换为字符再拼接最后得到拼接的最大值。ps需要考虑两个相邻字符的前后两种拼接方式ab,ba。
#includeiostream
#includealgorithm
#includevector
#includestringusing namespace std;bool cmp(const int a, const int b)
{// 将数字转换为字符串以便进行拼接string ab to_string(a) to_string(b);string ba to_string(b) to_string(a);// 比较拼接后的字符串return ab ba;}int main()
{int n;cin n;vectorinta(n);//读取每个数字for (int i 0; i n; i){cin a[i];}// 使用自定义的比较函数进行排序sort(a.begin(), a.end(), cmp);// 输出结果for (int b : a){cout b;}cout endl;return 0;
}