【題解】ZeroJudge e624: 10340 – All in All

【題目敘述】https://zerojudge.tw/ShowProblem?problemid=e624
【解題想法】

  • 讀入兩個字串 s1 和 s2,檢查是否可以從 s2 中刪除字元,以使其剩餘字元串聯爲 s1。
  • 利用 p1 和 p2 指向目前進行比對的字符在 s1 和 s2 中的位置。
    • 如果 s1[p1] = s2[p2],同時移動 p1 和 p2。
    • 否則,移動 p2 指向下一個字符。
#include <iostream>
using namespace std;

int main() {
    string s1, s2;
    while (cin >> s1 >> s2){
        int p1 = 0, p2 = 0;
        while (p1 < s1.size() && p2 < s2.size()){
            if (s1[p1] == s2[p2]){
                p1++;
                p2++;
            } else {
                p2++;
            }
        }
        if (p1 == s1.size()) cout << "Yes\n";
        else cout << "No\n";
    }
    return 0;
}
分享本文 Share with friends