记录编号 278711 评测结果 AAAAAAAAA
题目名称 [NOIP 2000PJ]单词接龙 最终得分 100
用户昵称 Gravatar安呐一条小咸鱼。 是否通过 通过
代码语言 C++ 运行时间 0.343 s
提交时间 2016-07-08 14:42:39 内存使用 0.30 MiB
显示代码纯文本
#include<cstring>
#include<cstdio>
using namespace std;
int len[30],used[30],ans,n;
char ch[30][120];
void dfs(int id,int maxx)
{
	int i,j,r,l;
	for(i=1;i<=n;i++)
	{
		if(used[i]<2)
		{
			for(j=0;j<len[id];j++)
			{
				if(ch[i][0]==ch[id][j])
				{
					for( l=1,r=j+1 ; r<len[id]&&ch[i][l]==ch[id][r] ;r++,l++);
					if(r<len[id])continue;
					used[i]++;
					dfs(i,maxx+len[i]-l);
					used[i]--;
				}
			}
		}
		if(maxx>ans)ans=maxx;
	}	
}
int main()
{
	freopen("dcjl.in","r",stdin);
	freopen("dcjl.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%s",ch[i]);
		len[i]=strlen(ch[i]);
	}
	scanf("%s",ch[0]);
	len[0]=strlen(ch[0]);
	dfs(0,len[0]);
	printf("%d\n",ans);
	return 0;
}