codeforces 191A Dynasty Puzzles
来源:互联网 发布:淘宝违规词在线查询 编辑:程序博客网 时间:2024/06/16 16:57
题意:如果字符串a的最后一个字符等于字符串b的第一个字符,那么,a,b是可连接的。又假设在一个字符串的链条中如果第一个字符串的第一个字符等于最后一个字符串的最后一个字符,这个链条是符合题意的。求长度最长的链条。
做法:这个是图论还是DP。把每个字符串压缩一下,如abcde压缩到矩阵中变成mat[a][e]=strlen("abcde").最后利用图论 的手法求出最长链。值得注意的是,这里会有回路,所以要每加入一个字符串计算一次。
#include <iostream>#include<cstring>#include<cstdio>using namespace std;int mat[30][30];char name[15];//压缩的思想//这个明明就是图论...//为了防止遇到回路现象,每输入一个单词测试一次。int main(){ int i,u,v,l,n,ans=-1; scanf("%d",&n); while(n--) { scanf("%s",name); l=strlen(name); u=name[0]-'a';v=name[l-1]-'a'; for(i=0;i<26;i++) if(mat[i][u]&&mat[i][u]+l>mat[i][v]) mat[i][v]=mat[i][u]+l; if(mat[u][v]<l)mat[u][v]=l; } for(i=0;i<26;i++) if(ans<mat[i][i]) ans=mat[i][i]; printf("%d\n",ans); return 0;}
- codeforces----191A Dynasty Puzzles
- codeforces 191A Dynasty Puzzles
- CodeForces - 191A Dynasty Puzzles
- codeforces 191A A. Dynasty Puzzles(dp)
- CodeForces Round #121 (191A) - Dynasty Puzzles
- Codeforces 191A Dynasty Puzzles【dp】
- CodeForces-191A Dynasty Puzzles(动态规划DP)
- Codeforces-191A-Dynasty Puzzles(简单dp)
- codeforces 191A Dynasty Puzzles(简单DP)
- CF#191 A. Dynasty Puzzles (DP)
- CF A. Dynasty Puzzles
- Codeforces Round #121 (Div. 1) / 191A Dynasty Puzzles (dp&优化)
- Codeforces Round #121 (Div. 1) A. Dynasty Puzzles
- codeforces 191D Dynasty Puzzles (图论,疑难杂题)
- CF 191A - Dynasty Puzzles(简单DP)
- codeforces 192C Dynasty Puzzles 字符串动态规划
- CodeForces 337A Puzzles
- CodeForces 337A - Puzzles
- C函数库中的memcpy实现
- Quartz 2D Programming Guide --Transparency Layers
- C函数库中的memmove实现
- C函数库中的strcpy实现
- Maven_使用maven创建多模块web项目 step by step
- codeforces 191A Dynasty Puzzles
- C函数库中的strncpy实现
- ORA-01000: maximum open cursors exceeded, 引发的JDBC, DBPool的思考
- IE没有ADB怎么办 使用IE9、IE10跟踪保护屏蔽广告
- openGL ES 画球
- bzero, memset ,setmem 区别
- C函数库中的strcat实现
- javaEE的应用分层模型
- C函数库中的strncat实现