Old-Mao’s CPP PRO MAX PRIVATE SIMPLE

wuhongzhen 2022-04-03 16:23:27 21 返回题目

#include<bits/stdc++.h>
using namespace std;
long long n;
string a[10010],s;
int f[10010];
bool cp(int x,int y){
	int len=a[y].size();
	for(int i=0;i<len;i++){
		if(x-i>=0&&len-i-1>=0)
		if(a[y][len-i-1]!=s[x-i])
		return 0;
	}
	return 1;
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	cin>>s;
	s=' '+s;
	int len=s.size()-2;
	f[0]=1;
	for(int i=1;i<=len;i++){
		for(int j=1;j<=n;j++){
		if(!cp(i,j))
		continue;
		if(i-a[j].size()>=0)
		f[i]+=f[i-a[j].size()];	
		}
		
	}
	cout<<f[len];
	return 0;
}
{{ vote && vote.total.up }}