编程介的小学生 2016-12-02 15:52 采纳率: 20.5%
浏览 908
已采纳

Magic Trick

Background

Warning! This problem statement contains a serious spoiler. It shows the trick behind a magic trick. So if you still want to be amazed in case somebody shows this trick to you then do NOT read the rest of this problem statement. Stop reading… NOW!

Problem

Well, you’re still reading, so obviously you have no respect for magic tricks. Be ashamed, please. Ok,here’s what happens. The magician shows you a text with three paragraphs like this one:

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.

He then asks you to secretly pick a word in the first paragraph. Then you shall do this:

  1. Count the number of characters in your word (call that number X).

  2. From your word move on X words.

Repeat these two steps until you reach the third paragraph. Then tell the magician that you’re done.After some hocus pocus he tells you the word you ended up with.

For our purposes, a “word” is defined as consecutive letters (A-Z,a-z). For example, “I’m” is regarded as two separate words.

For example, let’s say you choose “night” in the above example. It has 5 characters, so you move on five words: “The”, “moon”, “was”, “shining”, “but”. Our new word is “but”. You move on 3 words to “A”,then 1 to “suspicious”, then 10 to “Doe” and then 3 to “searching”. Now you tell the magician that you’re ready. He says that you’ve reached “searching”.

How can he know? Well, it doesn’t matter where you start in the first paragraph, you’ll always end up at “searching”. The magician needs new texts and asks you to help him to find all possible outcomes (in the above example, “searching” is the only one). Apart from words, a possible outcome is “-outside-”,which means it’s possible to jump behind the third paragraph. Also, he’s not interested if more than three outcomes are possible.

输入:

The first line contains the number of scenarios. For each scenario, three lines are given, representing the three paragraphs. No line is longer than 100000 characters. Every paragraph will contain at least one word.
输出:

The output for every scenario begins with a line containing “Scenario #i:”, where i is the number of the scenario starting at 1. Then print the possible outcomes (possibly including “-outside-”) in alphabetical/lexicographical order, one word per line. Write words in lower case. Don’t list outcomes more than once. If however there are more than three possible outcomes, then print “-too many-” and do not print any of them. Terminate the output for the scenario with a blank line.
样例输入:

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...
样例输出:

Scenario #1:
searching

Scenario #2:
-outside-
espanol

Scenario #3:
-outside-
hahaha

Scenario #4:
-too many-

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-12-02 15:55
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区