提交时间:2019-11-23 18:37:15
运行 ID: 2359
#include<bits/stdc++.h> using namespace std; int v[105],n,ans; struct bxk{ int l,r; }x[105]; void dfs(int k,int maxn){ int i; if(maxn>ans)ans=maxn; for(i=1;i<=n;++i){ if(!v[i]&&x[i].l==x[k].r){ v[i]=1; dfs(i,maxn+1); v[i]=0; } } } int main(){ int i; char s[1005]; cin>>n; for(i=1;i<=n;++i){ cin>>s; x[i].l=s[0];x[i].r=s[1]; } v[1]=1; dfs(1,1); cout<<ans; return 0; }