#P1800. Magic Trick
Magic Trick
本题没有可用的提交语言。
题目描述
背景
警告! 此问题描述包含严重剧透。它揭示了一个魔术背后的技巧。因此,如果有人向你展示这个魔术,而你仍想保持惊奇感,请不要继续阅读此问题描述。请停止阅读……现在!
问题
好吧,你还在阅读,显然你对魔术技巧毫无敬意。请感到羞愧。现在,以下是魔术的过程:魔术师会向你展示一个包含三个段落的文本,如下所示:
It was a horribly dark night.
The moon was shining, but not much.
A suspicious stranger entered the bar and went straight to John Doe.
"I'm searching for aliens, can I borrow your computer?", he said.
然后,他会让你在第一个段落中秘密选择一个单词。接着,你需要按照以下步骤操作:
- 计算你选择的单词的字符数(记为 )。
- 从你的单词开始,向后移动 个单词。
重复这两个步骤,直到你到达第三个段落。然后告诉魔术师你已经完成。经过一些“魔法”后,他会告诉你你最终停留的单词。
在我们的定义中,一个“单词”是由连续的字母(A-Z,a-z)组成的。例如,“I'm”被视为两个单独的单词。
例如,假设你选择上述例子中的“night”。它有 个字符,因此你向后移动 个单词:“The”、“moon”、“was”、“shining”、“but”。现在的新单词是“but”。接着移动 个单词到“A”,然后 个到“suspicious”,然后 个到“Doe”,最后 个到“searching”。现在你告诉魔术师你已经完成。他会说你最终停留在“searching”。
他是怎么知道的?其实,无论你从第一个段落的哪个单词开始,最终都会停留在“searching”。魔术师需要新的文本,并请你帮助他找出所有可能的结果(在上述例子中,“searching”是唯一的结果)。除了单词外,可能的结果还包括“-outside-”,表示可能会跳出第三个段落。此外,如果可能的结果超过三个,他就不感兴趣了。
输入
第一行包含场景的数量。对于每个场景,给出三行,分别代表三个段落。每行不超过 个字符。每个段落至少包含一个单词。
输出
每个场景的输出以一行“Scenario #i:”开始,其中 是从 开始的场景编号。然后按字母/字典顺序输出可能的结果(可能包括“-outside-”),每个单词占一行。单词以小写形式输出。不要重复列出结果。但如果可能的结果超过三个,则输出“-too many-”,并且不要输出任何结果。每个场景的输出以空行结束。
示例输入 1
4
It was a horribly dark night. The moon was shining, but not much.
A suspicious stranger entered the bar and went straight to John Doe.
"I'm searching for aliens, can I borrow your computer?", he said.
!pablo espanol!
!pablo espanol!
!pablo espanol!
c'mon howLongOrShortCanASingleWordBe?
a b c d e f g f e d c b a
54254#@%$^%^@4626^#^%^$hahaha#$@%#$@63456326
Hello buddy dance tango!
PleaseOhPleaseJumpOverMe
This is too much for me...
示例输出 1
Scenario #1:
searching
Scenario #2:
-outside-
espanol
Scenario #3:
-outside-
hahaha
Scenario #4:
-too many-
来源
TUD Programming Contest 2004, Darmstadt, Germany