链接
https://www.acwing.com/problem/content/1119/
#include<iostream>
using namespace std;
#define MAX_N 30
int n;
string vocab[MAX_N];
string start;
string max_string;
int useCount;
int match(string pre, string behind){
int num = min(pre.size(), behind.size());
int maxinum = 0;
for (int i=1; i <= num; i++){
int j;
for (j=0; j < i; j++){
if ( pre[pre.size() - i + j] != behind[j] ){
break;
}
}
if ( j == i) maxinum = max(maxinum, j);
}
return maxinum;
}
string dfs(string a){
for (int i=0; i< n; i++){
if (match(a, vocab[i]) == 1)
}
}
int main(){
cin >> n;
for (int i=0; i< n; i++) cin>>vocab[i];
cin >> start;
// first round
for (int i=0; i< n; i++){
if (vocab[i][0] == start){
dfs(vocab[i]);
}
}
return 0;
}