#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=25;
string a[N];
int n,vis[N];
ll ans;
void dfs(int k,ll sum){
string s=a[k];
vis[k]++;
for(int p=1;p<s.length();p++){
bool flag=true;
for(int i=1;i<=n;i++){
if(vis[i]>1)
continue;
string x=s.substr(s.length()-p,s.length());
if(x.length()<a[i].length()&&x==a[i].substr(0,p))
dfs(i,sum+(ll)s.length()-p);
if(x.length()<a[i].length())
flag=false;
}
if(flag)
break;
}
vis[k]--,ans=max(ans,sum+(ll)s.length());
}
int main(){
scanf("%d",&n);
char ch=getchar();
for(int i=1;i<=n;i++)
getline(cin,a[i],'\n');
cin>>ch;
for(int i=1;i<=n;i++)
if(a[i][0]==ch)
dfs(i,0);
printf("%lld\n",ans);
return 0;
}
第一个点本地输出15,答案15,交上去WA,估计其他的也是这样给判错的,所以说,该怎么改?