1198. Substring

题意：第一行为测试用例个数，每个用例第一行为子串个数，接下来为N个子串。找出包含所有子串（每个子串仅出现一次）且字典序最小的长串并打印。
题解：由于题目限制子串个数为8以内，所以用枚举的方法是可以解的，只需存储所有结果并排序即可。但是如果是8以外呢？当N较大时，枚举肯定是不行的，时间和空间都会不够，直接将子串排序再输出是一个比较好的方法，如：a,e,b，排序后是a,b,e，输出就是正确的结果，但是直接对子串进行一半的排序也会出现问题，比如子串集为“a,b,ba”时，进行排序将会得到“a,b,ba”，而“a,ba,b”才是正确的结果。一种比较简洁的方法是重新定义对子串排序的规则，比如子串“b,ba”，要对其进行排序，先令x = b + ba = "bba", y = ba + b = "bab"，再根据组合后的x,y来判断字典序大小，此时可以看到x > y,即排序后为ba,b,这就是我们需要的结果，我利用快排来对本题进行排序