公式

D - Typing 解説 by cn449


\(S\) における何文字目までが入力されたかを表す変数を持ちながら文字列 \(T\) の文字を前から調べていけばよいです。

実装例

#include <bits/stdc++.h>
using namespace std;

int main() {
    string s, t;
    cin >> s >> t;
    int n = s.size();
    int m = t.size();
    vector<int> a(n);
    int j = 0;
    for (int i = 0; i < m; i++) {
        if (s[j] == t[i]) {
            a[j] = i + 1;
            j++;
        }
    }
    for (int i = 0; i < n; i++) cout << a[i] << " \n"[i == n - 1];
}

投稿日時:
最終更新: