1029.舊鍵盤(Hash雜湊)
阿新 • • 發佈:2019-01-29
1029. 舊鍵盤(20)
時間限制200 ms記憶體限制65536 kB
程式碼長度限制8000 B
判題程式Standard作者CHEN, Yue
舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字、以及實際被輸入的文字,請你列出肯定壞掉的那些鍵。
輸入格式:
輸入在2行中分別給出應該輸入的文字、以及實際被輸入的文字。每段文字是不超過80個字元的串,由字母A-Z(包括大、小寫)、數字0-9、以及下劃線“_”(代表空格)組成。題目保證2個字串均非空。
輸出格式:
按照發現順序,在一行中輸出壞掉的鍵。其中英文字母只輸出大寫,每個壞鍵只輸出一次。題目保證至少有1個壞鍵。
輸入樣例:7_This_is_a_test _hs_s_a_es
7TI
#include <iostream> #include <cctype> #include <string> using namespace std; int main() { string a, b; cin >> a >> b; char c[80]; //儲存壞的鍵盤字母 int flag, index = 0; for (int i = 0; i < a.length(); i++) { //對比 用flag控制跳出迴圈或儲存 flag = 0; for (int j = 0; j < b.length(); j++) { if (a[i] == b[j]) { flag = 1; break; } } if (!flag) c[index++] = toupper(a[i]); } for (int i = 1; i < index; i++) { //將c中相同字母用‘#’代替 for (int j = 0; j < i; j++) { if (c[i] == c[j]) { c[i] = '#'; break; } } } for (int i = 0; i < index; i++) { //輸出壞的鍵盤字母 if (c[i] != '#') cout << c[i]; } return 0; }