TopCoder

icube
baluteshih 好強 <(_ _)>

User's AC Ratio

90.9% (10/11)

Submission's AC Ratio

29.1% (23/79)

Tags

Description

現有的作業系統常常利用一些特殊字元方便使用者完成一些複雜的工作,萬用字元即為其中之一。

萬用字元所在的位置可以對應為零個或多個任意合法字元,如此可以一次指定多個檔案。
例如若使用者想列印所有結尾為 .C 的檔案,刪除所有開頭為 OLD 的檔案,並複製所有檔案,
這三個命令的對象都可以簡單由萬用字元簡化,而不需要一個一個將所要處理的檔案指定給命令,
我們可以將這些指令的對象以萬用字元 \$ 表示如下:

 \$.C 代表所有結尾為.C的檔案
 OLD\$ 代表所有開頭為OLD的檔案
 \$ 代表所有檔案

請寫一個程式,輸入含有萬用字元的字串與一組檔名,然後決定哪些檔名符合此字串之規範。

※條件限制
(1) 檔案命名之合法字元為(不可含萬用字元\$,且不可為全形字):
  a. 26個大寫英文字母
  b. 英文句點 .
  c. 數字0-9
(2) 輸入檔案中含萬用字元的字串包含0個以上的萬用字元。

Input Format

輸入檔包含一個含有萬用字元的合法字串(輸入檔第一列),以及一組想跟這個字串做匹配的合法檔名(輸入檔第二列之後)。
萬用字元以 \$ 表示,含有萬用字元的字串可以包含0個以上的萬用字元,每個想與他匹配的檔名都列在一個新行,且含1到20個字元。

Output Format

輸出檔案分行列出可以符合指定字串所規範之所有檔名。

Sample Input 1

C\$AT
COMFILE.DAT
COST.DATA
CAT
COAT
CATCH

Sample Output 1

COMFILE.DAT
CAT
COAT

Sample Input 2

B\$\$N\$
NIBBLE.BIT
BANANA
BNXJ.25
BORN
ABNORMAL.LIS
BRANDISH.SRD
BITNET

Sample Output 2

BANANA
BNXJ.25
BORN
BRANDISH.SRD
BITNET

Hints

Problem Source

原TIOJ1577 / 台北市 97 學年度高級中學資訊學科能力競賽

Subtasks

No. Testdata Range Score
1 0 20
2 1 20
3 2 20
4 3 20
5 4 20

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 5000 65536 262144 1
1 5000 65536 262144 2
2 5000 65536 262144 3
3 5000 65536 262144 4
4 5000 65536 262144 5