求助求助大佬
  • 板块灌水区
  • 楼主iPhoenix_MacOS
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/17 12:04
  • 上次更新2024/7/17 14:11:20
查看原帖
求助求助大佬
1004206
iPhoenix_MacOS楼主2024/7/17 12:04
#include <iostream>
#include <string>
#include <vector>
using namespace std;
const int MAXN = 200001;
inline vector<int> ccmth(const string& A, const string& B) {
    int n = A.length();
    int m = B.length();
    vector<int> mcl(n, 0);
    for (int i = n - 1; i >= 0; --i) {
        int j = 0;
        while (i + j < n && j < m && A[i + j] == B[j]) {
            j++;
        }
        mcl[i] = j;
    }
    return mcl;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    int N, M, Q;
    cin >> N >> M >> Q;
    string A, B;
    cin >> A >> B;
    vector<int> mcl = ccmth(A, B);
    for (int q = 0; q < Q; ++q) {
        int X;
        cin >> X;
        int count = 0;
        for (int i = 0; i < N; ++i) {
            if (mcl[i] == X) {
                count++;
            }
        }
        cout << count << "\n";
    }
    return 0;
}

题目

提交记录

求大佬调代码,T了。。。。。。

2024/7/17 12:04
加载中...