Educational Codeforces Round 9-C. The Smallest String Concatenation(字符串排序)

原创 2016年08月29日 15:30:56

原题链接

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
4
abba
abacaba
bcd
er
output
abacabaabbabcder
input
5
x
xx
xxa
xxaa
xxaaa
output
xxaaaxxaaxxaxxx
input
3
c
cb
cba
output
cbacbc
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stack>
#include <iostream>
#include <vector>
#include <queue>
#include<cmath>
#define maxn 50005
#define INF 1e9 + 5
typedef long long ll;
using namespace std;

char p1[120], p2[120];
struct Node{
	char s[55];
	friend bool operator < (const Node&a, const Node&b){
		strcpy(p1, a.s);
		strcpy(p2, b.s);
		strcat(p1, b.s);
		strcat(p2, a.s);
		return strcmp(p1, p2) < 0;
	} 
}node[maxn];
int main(){
	
//	freopen("in.txt", "r", stdin);
	int n;
	
	scanf("%d", &n);
	for(int i = 0; i < n; i++)
	  scanf("%s", node[i].s);
	sort(node, node+n);
	for(int i = 0; i < n; i++)
	 printf("%s", node[i].s);
	puts("");
	
	return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Educational Codeforces Round 9 C. The Smallest String Concatenation【思维】

C. The Smallest String Concatenation time limit per test 3 seconds memory limit per test 256 meg...
  • Bcwan_
  • Bcwan_
  • 2016年03月16日 21:45
  • 438

string类 sort Educational Codeforces Round 9 C. The Smallest String Concatenation

题意:给1 1)话说此题费了一番周折,也做出来了,然后发现自己的代码比宦豪和帆神的都长好多,发现自己应该好好学学String类了,确实比char数组好用好多~~ 2)此题用char数组做的时候,要对c...

Educational Codeforces Round 8 C. Bear and String Distance(贪心)

题意: 给定N≤105的字符串,定义字符距离dist(a,b)=abs(a−b)给定N\le10^5的字符串, 定义字符距离dist(a, b)=abs(a-b) 求一个同样长度的但是距离总...
  • lwt36
  • lwt36
  • 2016年02月22日 21:40
  • 237

【Educational Codeforces Round 1C】【计算几何-极角排序 atan2 long double】Nearest vectors 平面图上原点引出角度最小的两个

C. Nearest vectors time limit per test 2 seconds memory limit per test 256 megabytes ...

Educational Codeforces Round 1 C.Nearest vectors(排序)

题目大意:给一堆向量,找出角度差最小的两个向量 大致思路:按照角度递增排序,枚举相邻两个角度,注意还需要比较最小角和最大角的角度差。 坑点是double精度不够,必须用long double,发现sc...

【Educational Codeforces Round 1B】【字符串平移 水题】Queries on a String 字符串平移水题

B. Queries on a String time limit per test 2 seconds memory limit per test 256 megabytes...

Educational Codeforces Round 9 -- B - Alice, Bob, Two Teams

B. Alice, Bob, Two Teams time limit per test 1.5 seconds memory limit per test 256 megabytes i...

Educational Codeforces Round 9-D. Longest Subsequence(筛选法)

D. Longest Subsequence time limit per test 2 seconds memory limit per test 256 megabytes...

Educational Codeforces Round 9 B. Alice, Bob, Two Teams【水题】

B. Alice, Bob, Two Teams time limit per test 1.5 seconds memory limit per test 256 megabytes i...
  • Bcwan_
  • Bcwan_
  • 2016年03月16日 20:28
  • 285

Educational Codeforces Round 9-B. Alice, Bob, Two Teams(前缀和)

B. Alice, Bob, Two Teams time limit per test 1.5 seconds memory limit per test 256 megab...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Educational Codeforces Round 9-C. The Smallest String Concatenation(字符串排序)
举报原因:
原因补充:

(最多只允许输入30个字)