#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;
}
共 1 条回复
感觉排版不是很好(老挑刺大师了)