输入n个字符串s[i],你要把他们按某个顺序连接起来,使得字典序最小。

(1 <= n <= 100)

(每个字符串长度 <= 100)

(字符串只包含小写字母)

Input

第一行一个整数n。
接下来每行一个字符串s[i]。

Output

一行一个字符串表示把输入的n个字符串按某个顺序连接之后的结果

Input示例

6
it
looks
like
an
easy
problem

Output示例

aneasyitlikelooksproblem

思路:用sort自定义cmp函数比较字符串字典序大小,排序后输出即可,但是有坑,我就栽了进去,QAQ

• 最容易想到的是按字典序排序。

• ⼀个反例是ba b,答案是bab⽽不是bba。

• 空字符最⼤还是最⼩?(字典中是最⼩)

• 如果认为是最⼤的话,反例是bc b,答案是bbc

• 对于任意2个字符串,如果交换后更优,就交换。

• 类似冒泡排序,相当于按照a + b < b + a排序。

#include <iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
using namespace std;
bool cmp(string a,string b)
{
return a+b<b+a;
}
int main()
{
int n;
cin>>n;
getchar();
string *s=new string[n];
for(int i=0;i<n;++i)
{
getline(cin,s[i]);
}
sort(s,s+n,cmp);
for(int i=0;i<n;++i)
cout<<s[i];
cout<<endl;
return 0;
}

最新文章

  1. 使用 Nodejs 搭建简单的Web服务器
  2. 暗黑战神客户端(IOS和Android)打包教程
  3. /WEB-INF/userManage.jsp(31,82) Unterminated ${ tag
  4. 学习理论之正则化(Regularization)与模型选择
  5. 使用NuGet安装EntityFramework4.2
  6. android开发之Toast的多种应用
  7. 在linux下的apache配置https协议,开启ssl连接
  8. 一个基础的CURL类
  9. wp8.1开发系列之安装包URI方案
  10. Professional C# 6 and .NET Core 1.0 - 37 ADO.NET
  11. 关于log4.net 错误,求解
  12. Js函数初学者练习(一)switch-case结构实现计算器。
  13. 大数据开发认知--spark
  14. linux五种I/O模型
  15. centos7使用yum安装zabbix3.4
  16. jquery正则表达式验证(手机号、身份证号、中文名称)
  17. echarts图表点击事件之跳转页面和加载页面
  18. PAT甲级1060 Are They Equal【模拟】
  19. Android开发——RecyclerView特性以及基本使用方法(一)
  20. ace how to guide

热门文章

  1. springboot使用aop做日志
  2. python初学者学习笔记
  3. 使用SeaJS,require加载Jquery的时候总是为null
  4. HelloWorld编译正常运行报noclassdeffounderror
  5. ubuntu--dpkg 被中断
  6. BA--三相异步电机_星三角降压启动
  7. [SharePoint][SharePoint Designer 入门经典]Chapter13 客户端JavaScript编程
  8. [using_microsoft_infopath_2010]Chapter10 与SharePoint Designer工作流集成
  9. HDU 1788
  10. Android自己定义View之组合控件 ---- LED数字时钟