塔子哥和他的朋友小明是大学的室友,他们都对算法和数据结构非常着迷。一天,小明告诉塔子哥他的新女友很喜欢玩字符串游戏,但是她总是拼不出正确的字符串。于是,小明想让塔子哥帮忙解决这个问题。
塔子哥询问小明女友玩的是什么游戏,小明女友告诉他她有两个长度为 n 的字符串 s 和 t,它们都只包含小写字母。她需要通过一些操作使得 s 和 t 相等,每次操作可以选择第一个字符串 s 的两个下标 i 和 j,使得 ∣i−j∣=k,然后交换 si 和 sj。但是她不知道应该如何操作,才能使得 s 和 t 相等。
每个距离为k的字符两两可以互相交换:我们可以发现 对于%k余数相同的下标字符 这些序列可以任意交换 形成任意的序列
我们可以按%k的余数对这些字符进行存储 然后对存储的字符进行排序
逐个比较排序后的字符串是否相等 如果有一个不相等 则不能满足条件 如果都相等 则可以满足条件