以下排序算法?

sorting algorithm for the following?

所以,我正在尝试解决以下问题:

http://codeforces.com/contest/510/problem/B

我会这样解决:

  1. 创建一个图 G,其中每个顶点代表字母表中的一个字母。
  2. 插入从 v1v2 的有向边到 G 当且仅当在给定序列中存在两个词使得 w1 = prefix v1 suffix1, w2 = prefix v2 suffix2w1 在给定序列中位于 w2 之前。你应该弄清楚如何使这一步更有效率。我相信可以在 O(sum over a length of each word)
  3. 内完成
  4. Return 如果 G 可以拓扑排序则为真。