sicily_1198 Substring

题目

Constraints

Time Limit: 1 secs, Memory Limit: 32 MB

Description

Dr lee cuts a string S into N pieces,s[1],…,s[N].

Now, Dr lee gives you these N sub-strings: s[1],…s[N]. There might be several possibilities that the string S could be. For example, if Dr. lee gives you three sub-strings {“a”,“ab”,”ac”}, the string S could be “aabac”,”aacab”,”abaac”,…

Your task is to output the lexicographically smallest S.

Input

    The first line of the input is a positive integer T. T is the number of the test cases followed.   

The first line of each test case is a positive integer N (1 <=N<= 8 ) which represents the number of sub-strings. After that, N lines followed. The i-th line is the i-th sub-string s[i]. Assume that the length of each sub-string is positive and less than 100.

Output

The output of each test is the lexicographically smallest S. No redundant spaces are needed.

Sample Input

1
3
a
ab
ac

Sample Output

aabac

思路

利用c++的比较操作符来判断两个字符串谁前谁后,笔者采用的是类似选择的算法,通过比较两个字符串顺序和逆序的和来判断是否要换位。
例如,"ac"+"ab" > "ab"+"ac", 换位,从而得出字典序。

代码

// 1198.cpp: http://soj.sysu.edu.cn/1198
// compare sub[i][j] and sub[j][i] to get the lexicographically smallest string
// Copyright (c) 2014 Junjie_Huang@SYSU(SNO:13331087). All Rights Reserved.
#include <iostream>
#include <string>

using std::cin;
using std::cout;
using std::endl;
using std::string;

void subStringsSort(int N, string sub[8]) {
  for (int i = 0; i < N; i++) {
    for (int j = i + 1; j < N; j++) {
      if (sub[i] + sub[j] > sub[j] + sub[i]) {
        string temp = sub[i];
        sub[i] = sub[j];
        sub[j] = temp;
      }
    }
  }
}

int main() {
  int T;
  cin >> T;
  while (T--) {
    int N;
    string sub[8];
    cin >> N;
    for (int i = 0; i < N; i++) cin >> sub[i];
    subStringsSort(N, sub);
    for (int i = 0; i < N; i++) cout << sub[i];
    cout << endl;
  }
  return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • **2014真题Directions:Read the following text. Choose the be...
    又是夜半惊坐起阅读 9,980评论 0 23
  • 你拿起粉扑,化起了妆,刷起了微博,看痴迷的男星最近是什么境况。 约好了闺蜜,听说附近有一不错的餐馆便一同前往。 很...
    SingBang阅读 239评论 0 0
  • 每个人的爱情观不同,在如此物质的现如今社会,有房有车有颜是很多女孩子心仪的甚至以求的。但是像“小田”这样的女孩也不...
    女汉子的郁闷日常阅读 203评论 0 1
  • 这个世界上有这样一种人,他们生活在不同地域,接受不同的文化,经历不同的人生,他们毕生追寻爱和温暖,他们尽自己所能,...
    平凡人演唱会阅读 781评论 0 0
  • 大清早,手机传来叮叮的信息声音,打开一看:老婆节日快乐!是老公微信。顿时感觉好幸福! 从前的老公可不是这样。由于老...
    MH红阅读 214评论 2 2