字符排序
C++ GESP真题 四级 2024.12 #2
EXY-PG-0178
时间限制:1s 内存限制:512MB

题目描述

小杨有 $n$ 个仅包含小写字母的字符串 $s_1,s_2,\ldots,s_n$,小杨想将这些字符串按一定顺序排列后拼接到一起构成字符串 $t$。小杨希望最后构成的字符串 $t$ 满足:

  • 假设 $t_i$ 为字符串 $t$ 的第 $i$ 个字符,对于所有的 $j\lt i$ 均有 $t_j\le t_i$。两个字符的大小关系与其在字母表中的顺序一致,例如 $\texttt{e}\lt \texttt{g}\lt \texttt{p} \lt \texttt{s}$。

小杨想知道是否存在满足条件的字符串排列顺序。

输入格式

第一行包含一个正整数 $T$,代表测试数据组数。

对于每组测试数据,第一行包含一个正整数 $n$,含义如题面所示。

之后 $n$ 行,每行包含一个字符串 $s_i$。

输出格式

对于每组测试数据,如果存在满足条件的排列顺序,输出(一行一个)$\texttt{1}$,否则输出(一行一个) $\texttt{0}$。

样例说明

样例 1
输入:
3
3
aa
ac
de
2
aac
bc
1
gesp
输出:
1
0
0
样例解释:

对于第一组测试数据,一种可行的排列顺序为 aa+ac+de,构成的字符串 t 为 aaacde,满足条件。

数据范围

对于全部数据,保证有 $1≤t,n≤100$,每个字符串的长度不超过 10。