2014年3月6日 星期四
[HOJ] 179 - 爆炸的期中考
#include<stdio.h>
#include<string.h>
#include<algorithm>
using std::max;
int dp[26][26];
char in[15];
int main(){
int n,i,j,k,s,t,l,T;
scanf("%d",&T);
while(T--){
memset(dp,-1,sizeof(dp));
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",in);
l=strlen(in);
s=in[0]-'a';
t=in[l-1]-'a';
for(j=0;j<26;j++){
if(dp[j][s]==-1) continue;
dp[j][t]=max(dp[j][t],dp[j][s]+l);
}
dp[s][t]=max(dp[s][t],l);
}
int ans=0;
for(i=0;i<26;i++)
ans=max(ans,dp[i][i]);
printf("%d\n",ans);
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言