Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
108881 赵德明 [NOIP2000 普及组/提高组] 单词接龙 C++ 输出超限 0 0 MS 428 KB 920 2023-11-04 11:25:50

Tests(0/6):


#include<bits/stdc++.h> using namespace std; int n,msum=0; string a[105]; char f; void dfs(int t,int sum){ int alen; if(t==0){ for(int i=1;i<=n;i++){ if(a[i][0]==f){ alen=a[i].size(); sum+=alen; cout<<a[i];// dfs(i,sum); } } } else{ alen=a[t].size(); int blen; bool boo=1; for(int i=1;i<=n;i++){ blen=a[i].size(); int j=1; bool sb=0; if(t!=i){ for(;j<=min(alen,blen);j++){ for(int z=1;z<=j;z++){ if(a[i][0+z-1]==a[t][alen-j+z-1]);//abch/chaa else{ sb=1; break; } } if(sb){ break; } } if(j>0){ cout<<a[i];// boo=0; dfs(i,sum+blen-j); } } } if(boo){ cout<<endl; msum=max(msum,sum); return ; } } } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } cin>>f; dfs(0,0); cout<<msum; return 0; }


测评信息: