提交时间:2021-05-16 19:08:50

运行 ID: 19567

#include <bits/stdc++.h> using namespace std; int n,maxn; string a[105]; bool vis[105]; void dfs(char c,int s) { if(s>maxn)maxn=s; for(int i=1;i<=n;i++) { if(!vis[i]&&a[i][0]==c) { vis[i]=true; dfs(a[i][1],s+1); vis[i]=false; } } } int main() { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; dfs(a[1][1],1); cout<<maxn<<endl; }