atcoder#ABC302C. [ABC302C] Almost Equal

[ABC302C] Almost Equal

题目描述

英小文字からなる長さ M M の文字列 N N S1,S2,,SN S_1,S_2,\dots,S_N が与えられます。ここで、Si S_i は互いに異なります。

これらを並び替えた文字列の列 T1,T2,,TN T_1,T_2,\dots,T_N であって、以下の条件を満たすものが存在するか判定してください。

  • 1  i  N1 1\ \le\ i\ \le\ N-1 を満たす全ての整数 i i に対して、Ti T_i 1 1 文字だけ別の英小文字に変えて Ti+1 T_{i+1} にすることが出来る。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M S1 S_1 S2 S_2 \vdots SN S_N

输出格式

問題文の条件を満たす列が存在するならば Yes を、そうでないならば No を出力せよ。

题目大意

题目描述

给定 N N 个长度为 M M 的仅包含小写英文字母的字符串 S1,S2,,SN S_1, S_2, \cdots, S_N 。保证 Si S_i 互不相同。

判断是否可以通过对这些字符串重新排序,得到一个新的字符串序列 T1,T2,,TN T_1, T_2, \cdots, T_N ,使得:

  • 对于任意 i i 使得 1iN1 1 \le i \le N - 1 ,均满足 Ti T_i 在改变恰好一个字母后可以等于 Ti+1 T_{i + 1}

数据范围

  • 2N8 2 \le N \le 8
  • 1M5 1 \le M \le 5
  • 保证 Si S_i 长度为 M M ,且仅由小写英文字母组成。(1iN) (1 \le i \le N)
  • 保证 Si S_i 互不相同。

样例一解释

安排顺序如下:abcdabedbbedfbed。满足条件。

样例二解释

无论如何对这两个字符串排序,均不可能满足条件。

4 4
bbed
abcd
abed
fbed
Yes
2 5
abcde
abced
No
8 4
fast
face
cast
race
fact
rice
nice
case
Yes

提示

制約

  • 2  N  8 2\ \le\ N\ \le\ 8
  • 1  M  5 1\ \le\ M\ \le\ 5
  • Si S_i は英小文字からなる長さ M M の文字列である。(1  i  N) (1\ \le\ i\ \le\ N)
  • Si S_i は互いに異なる。

Sample Explanation 1

abcd , abed , bbed , fbed の順に並び替えると条件を満たします。

Sample Explanation 2

どのように並び替えても条件を満たすことは出来ません。