L1-011 A-B


L1-011 A-B (20 分)

本題要求你計算AB。不過麻煩的是,A和B都是字符串 —— 即從字符串A中把字符串B所包含的字符全刪掉,剩下的字符組成的就是字符串AB。

輸入格式:

輸入在2行中先后給出字符串A和B。兩字符串的長度都不超過104​​,並且保證每個字符串都是由可見的ASCII碼和空白字符組成,最后以換行符結束。

輸出格式:

在一行中打印出AB的結果字符串。

輸入樣例:

I love GPLT!  It's a fun game!
aeiou

輸出樣例:

I lv GPLT!  It's  fn gm!
#include<iostream>
#include<string>

using namespace std;

int main() {
    string stra, strb;
    getline(cin, stra);
    getline(cin, strb);
    int lena = stra.length();
    int lenb = strb.length();
    for (int i = 0; i < lena; i++) {
        for (int j = 0; j < lenb; j++) {
            if (stra[i] == strb[j]) {
                stra[i] = '~';
            }
        }
    }
    for (int i = 0; i < lena; i++) {
        if (stra[i] == '~')
            i++;
        cout << stra[i];
    }

    return 0;
}

上面的代碼有兩個測試點過不了,分明結果是正確的Σ(`д′*ノ)ノ

后來看到其他大佬的代碼,發現可以使用字符的ASCII碼做判斷,當第二個出現相同ASCII碼的字符,就標記為1,輸出時用標記做判斷。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM