poj a b java_POJ2752-Java(小猫非常著名,很多夫妇Byteland翻山越

[java]代码库POJ 2752

描述

小猫非常著名,很多夫妇Byteland翻山越岭,并要求新生的小猫的名字给他们的孩子。他们寻求的名字,同时寻求名声。为了摆脱这种无聊的工作,创新的小猫是一个简单但神奇的算法:

步骤1。把父亲的名字,母亲的名字,一个新的字符串。

步骤2。找到一个合适的prefix-suffix串年代(不仅是前缀,后缀的年代还)。

例子:父亲=“阿拉巴马州”,母亲=‘拉’,我们有年代=“阿拉巴马”+“la”=“alala”。潜在的年代prefix-suffix字符串{ ' a ',“阿拉巴马州”,“alala”}。给定的字符串,你能帮助小猫编写一个程序来计算可能的年代prefix-suffix字符串的长度吗?(他会谢谢你给你的宝宝一个名字:)

输入

输入包含一个测试用例的数量。每个测试用例占一行,包含上述字符串年代。

/********************************* author : Grant Yuan algorithm; kmp source : POJ 2752 time ;2014/10/3 20:38 *********************************/ #include

#include

#include

#include

#include#define MAX 400007using namespace std;int next[MAX];char s[MAX];int ans;int l;int sum[MAX];void get_next(){ next[0]=-1; int j=-1; int i=0; while(i

=0;--i) printf("%d ",sum[i]); printf("%d/n",l);} return 0;}

//源代码片段来自云代码http://yuncode.net

694748ed64b9390909c0d88230893790.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值