codeforces----191A Dynasty Puzzles

来源:互联网 发布:python图片处理模块 编辑:程序博客网 时间:2024/05/24 05:31

一道比较水的dp,但是还是想了很久,最后参考了一下大牛的代码才想出解法的,不是很难懂。

#include <iostream>#include <cstring>#include <cstdio>using namespace std;int dp[26][26];int max(int a,int b) { return a>b?a:b; }int main(){int n,a,b,i,j,l,ans=0;char s[15];scanf("%d",&n);memset(dp,0,sizeof(dp));for(i=0;i<n;i++){scanf("%s",s);l=strlen(s);a=s[0]-'a'; b=s[l-1]-'a';for(j=0;j<26;j++){if(dp[j][a])dp[j][b]=max(dp[j][b],dp[j][a]+l);}dp[a][b]=max(dp[a][b],l);}for(i=0;i<26;i++)ans=max(ans,dp[i][i]);printf("%d\n",ans);return 0;}


原创粉丝点击