hdu3746 Cyclic Nacklace
来源:互联网 发布:快乐大本营测颜值软件 编辑:程序博客网 时间:2024/06/05 14:54
//题意:
//给一串珠子,在首尾处加入最少的珠子,成为循环串,循环串的循环次数大于1
//思路:首先求出一节珠子的长度,就是n = len - next[len], len为字符串长度
//给一串珠子,在首尾处加入最少的珠子,成为循环串,循环串的循环次数大于1
//思路:首先求出一节珠子的长度,就是n = len - next[len], len为字符串长度
//然后在根据next[len]的长度求出应该补充的最小珠子数
//若next[len] 不为0,且next[len] % n = 0,则不用加入新珠子
//否则加上 n - next[len] % n个珠子
#include<iostream>using namespace std;#define MAXSIZ 100010int Next[MAXSIZ];void getNext(char * str){if (!str){return;}int i = 0, j = -1;int len = strlen(str);Next[i] = -1;while (i < len){if(j == -1 || str[i] == str[j]){++i, ++j;Next[i] = j;}else{j = Next[j];}}}int main(){int t, i, len;char str[MAXSIZ];while(scanf("%d", &t) != EOF){while(t--){scanf("%s", str);len = strlen(str);getNext(str);int n = len - Next[len]; //n 为一节珠子长度if (Next[len] != 0 && (Next[len]) % n == 0){printf("0\n");}else{int addNum = n - ((Next[len]) % n);printf("%d\n", addNum);}}}return 0;}
- hdu3746 Cyclic Nacklace
- 【KMP】 hdu3746 Cyclic Nacklace
- HDU3746:Cyclic Nacklace
- hdu3746(Cyclic Nacklace)
- hdu3746 Cyclic Nacklace
- HDU3746 Cyclic Nacklace
- HDU3746-Cyclic Nacklace(KMP)
- HDU3746 Cyclic Nacklace 【KMP】
- HDU3746 Cyclic Nacklace
- hdu3746 Cyclic Nacklace(KMP)
- hdu3746 Cyclic Nacklace--KMP
- hdu3746 Cyclic Nacklace
- HDU3746 Cyclic Nacklace
- HDU3746-Cyclic Nacklace
- HDU3746 Cyclic Nacklace(KMP)
- HDU3746:Cyclic Nacklace
- HDU3746--Cyclic Nacklace (Kmp)
- HDU3746 Cyclic Nacklace (KMP)
- 误删数据--恢复方法
- SQL查询要求两个条件同时成立
- ARM汇编指令总结
- 学是基础,用是过程
- 汇玩吧项目搭建过程Centos
- hdu3746 Cyclic Nacklace
- Java开发中的23种设计模式详解
- Sypdroid 代码结构
- CentOS5.4下安装和配置Apache、PHP、MySql、PHPMyAdmin
- 在Adobe AIR中降低CPU的利用率
- HDFS 2中Namenode启动时WebUI的变化
- Dev-Control-gridview的属性说明
- Nginx 参考手册(FastCgi参数手册)
- IOS主题切换ThemeManager