代码:
#include<iostream>
#include<cstring>
using namespace std;
int n,h=0;
string j[18];
bool fb[18];
void dfs(char g,int gcw){
bool l=0;
for(int i=1;i<=n;i++){
if((!fb[i])&&(j[i][0]==g||g=='!')){
l=1;
fb[i]=1;
dfs(j[i][j[i].size()-1],gcw+(j[i].size()));
fb[i]=0;
}
}
if(!l){
if(gcw>h){
h=gcw;
}
return;
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>j[i];
}
dfs('!',0);
cout<<h;
return 0;
}