Codeforce 632C The Smallest String Concatenation
2016-04-21 22:51
369 查看
C. The Smallest String Concatenation
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
You're given a list of n strings a1, a2, ..., an.
You'd like to concatenate them together in some order such that the resulting string would be lexicographically smallest.
Given the list of strings, output the lexicographically smallest concatenation.
Input
The first line contains integer n — the number of strings (1 ≤ n ≤ 5·104).
Each of the next n lines contains one string ai (1 ≤ |ai| ≤ 50)
consisting of only lowercase English letters. The sum of string lengths will not exceed 5·104.
Output
Print the only string a — the lexicographically smallest string concatenation.
Examples
input
output
input
output
input
output
time limit per test
3 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output
You're given a list of n strings a1, a2, ..., an.
You'd like to concatenate them together in some order such that the resulting string would be lexicographically smallest.
Given the list of strings, output the lexicographically smallest concatenation.
Input
The first line contains integer n — the number of strings (1 ≤ n ≤ 5·104).
Each of the next n lines contains one string ai (1 ≤ |ai| ≤ 50)
consisting of only lowercase English letters. The sum of string lengths will not exceed 5·104.
Output
Print the only string a — the lexicographically smallest string concatenation.
Examples
input
4 abba abacaba bcd er
output
abacabaabbabcder
input
5 x xx xxa xxaa xxaaa
output
xxaaaxxaaxxaxxx
input
3 c cb cba
output
cbacbc
想到了就能很简单的写出来,想不到,不仅写的复杂,并且还不对。
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; struct node { char s[220];//刚开始开小了,一直RE }t[510000]; bool cmp(node a,node b) { return strcmp(strcat(a.s,b.s),strcat(b.s,a.s))<0; } int main() { int n,i; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) scanf("%s",t[i].s); sort(t,t+n,cmp); for(i=0;i<n;i++) printf("%s",t[i].s); printf("\n"); } }
相关文章推荐
- 并查集
- Atitit.http代理的实现 代码java php c# python
- 安卓头像.本地获取图片和拍照
- [POJ 1990] MooFest (树状数组)
- Socket网络编程 客户端与服务端通信流程
- 点击下载按钮 下载音乐的Service extends IntentService{
- Android中IntentService详解
- 异步在工作线程中执行图片模糊化处理 工具
- 点击下载按钮 创建AlertDialog,new OnClickListener ,startService
- Android中的通知 --- Notification
- 广播接收器 发送与注册
- 在MainActivity 中,获取控件的宽 高
- 消费监听事件 防止向下一层传递监听事件
- 给listView 添加滚动监听(当listView 向上滚动时,到底之后,加载新的数据,向下翻页 加载数据)
- 自定义seekBar
- 自定义圆形图片 ImageView
- 异步加载图片的工具类
- 图片相关操作的工具类 下载 ,缓存到文件
- 发送get请求 获取输入流 ,发送get请求 获取响应字符串
- 使用post的方式发送http请求