摘要: 把i 和 j写错了找得人都要抓狂了。。题意:给出n个字符串,其中任意两个字符串(包括同一字符串)可以进行互相拼接起来,例如s1="abcd"……>s2="dcab",表示将s1拼接在s2后面,所得的值就是将s1反转得"dcba",该字符串与s2同有的前缀为"dc",所以值就是2.现在求解在n个字符串给定的情况下,将这些字符串拼接起来所得到的最大值.关键是建图,之后运用KM算法,ok! 1 #include 2 #include 3 #include 4 int mark[1002],n; 5 char ss[ 阅读全文
posted @ 2013-08-17 18:15 galaxy77 阅读(326) 评论(0) 推荐(0) 编辑
摘要: #include#include#includeint mark[1002],link[1002],n;char s[202][1020];int g[202][202],s[202],t[202],lx[202],ly[202],link[202];char temp[1002];int min(int x,int y){ return x>y?y:x;}void rev(int x,int len){ int i,j; for(i=0,j=len-1;i=g[i][j]&&!t[i]) { t[i]=1; if(l... 阅读全文
posted @ 2013-08-17 11:50 galaxy77 阅读(225) 评论(0) 推荐(0) 编辑