QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 64 MB 總分: 10

#11846. 近似共轭 [B]

统计

严格来说,“几乎”(almost)这个词等同于“不”(no)。但另一方面,这两个词并不完全是同义词。更准确地说,“几乎”这个词在含义上更接近“是”(yes)而不是“不”。

我们称两个单词为“共轭词”(conjugates),如果可以通过将第一个单词开头的字母反复移动到末尾,从而得到第二个单词。例如,单词 ababaabaab 是共轭词,但 abababaaab 不是。我们称两个单词为“几乎共轭词”(almost conjugates),如果:

  • 它们不是共轭词,并且
  • 通过将第一个单词开头的字母反复移动到末尾,我们可以得到一个与第二个单词恰好在一个位置上不同的单词。

例如,单词 ababaaaaab 是几乎共轭词,但 abababbbbb 不是。

请编写一个程序:

  • 从标准输入读取两个单词,
  • 检查它们是否为几乎共轭词,如果是,则给出证明,
  • 将结果写入标准输出。

输入格式

输入的第一行包含一个整数 $n$ ($1 \le n \le 1\,000\,000$),表示每个单词的长度。第二行包含第一个单词,第三行包含第二个单词。每个单词都是由 $n$ 个小写英文字母组成的序列。

输出格式

输出的第一行应包含一个单词——如果输入的两个单词是几乎共轭词,则输出 TAK(波兰语中的“是”),否则输出 NIE(波兰语中的“不”)。如果第一行输出了 TAK,则第二行应包含一个递增的非负整数序列,每个整数都在 $[0, n - 1]$ 范围内,并用空格分隔。该序列应包含所有可能的移动操作次数(将第一个单词开头的字母移动到末尾的次数),使得操作后的单词与第二个单词恰好在一个位置上不同。

样例

输入 1

5
ababa
aaaab

输出 1

TAK
2 4

输入 2

5
ababa
bbbbb

输出 2

NIE

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.