PAT乙級B1033 舊鍵盤打字 (20 分)

2021-09-10 07:57:19 字數 849 閱讀 5947

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字、以及壞掉的那些鍵,打出的結果文字會是怎樣?

輸入在 2 行中分別給出壞掉的那些鍵、以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出;每段文字是不超過 10​5​​ 個字元的串。可用的字元包括字母 [a-z,a-z]、數字0-9、以及下劃線_(代表空格)、,.-+(代表上檔鍵)。題目保證第 2 行輸入的文字串非空。

注意:如果上檔鍵壞掉了,那麼大寫的英文本母無法被打出。

在一行中輸出能夠被打出的結果文字。如果沒有乙個字元能被打出,則輸出空行。

7+ie.

7_this_is_a_test.

_hs_s_a_tst
思路:使用乙個雜湊表標記壞鍵,另外注意由於第一行壞鍵可能為空,因此c++中不能使用cin直接輸入字串,否則空串無法處理,而應該用 getline()。

#include#include#includeusing namespace std;

int a[256];

int main()

getline(cin,s);

for(int i=0;i='a'&&s[i]<='z')else if(a[s[i]]==0)

cout<} cout

}

B1033 舊鍵盤打字

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入在 2 行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過 10 5 個字元的串。可用的字元包括字母 a z,a ...

B1033 舊鍵盤打字

輸入格式 輸入在 2 行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過 10 5 個字元的串。可用的字元包括字母 a z,a z 數字 0 9 以及下劃線 代表空格 代表上檔鍵 題目保證第 2 行輸入的文字串非空。注意 如果上檔鍵壞掉了,那麼大寫的英文...

B1033 舊鍵盤打字 20

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過105個字元的串。可用的字元包括字母 a z,a ...