在更新后的 giao 级青藤的第四篇题解(Ps:maozihan我看你打题解打了半天)

061loujiazheng 2022-04-03 10:36:41 2022-05-14 11:02:23 27 返回题目

#include <bits/stdc++.h>

using namespace std;

string s, str;

long long dp[110000];

map<string, int> m;

int main() {

int n;

dp[0] = 1;

cin >> n;

for (int i = 1; i <= n; i++) {

    cin >> s;

    m[s] = 1;

}

cin >> str;

str = " " + str;

for (int i = 1; i <= str.size() - 2; i++) {

    for (int j = 1; j <= i; j++) {

        if (m[str.substr(j, i - j + 1)] == 1) {

            dp[i] = dp[i] + dp[i - str.substr(j, i - j + 1).size()];

        }

    }

    cout << endl;

}

cout << dp[str.size() - 2];

return 0;

}

{{ vote && vote.total.up }}

共 1 条回复

wuhongzhen

感觉排版不是很好(老挑刺大师了)