程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> rest-Magic Trick

rest-Magic Trick

編輯:編程解疑
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-

最佳回答:


http://www.acmerblog.com/POJ-1800-Magic-Trick-blog-518.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved