HDU 3746 Cyclic Nacklace
来源:互联网 发布:玉兔公子淘宝 编辑:程序博客网 时间:2024/05/21 05:06
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746
题目大意:给你一个字符串求将其变成最少循环两次的字符串所添加的字符个数
题目思路:首先找出你这个字符的循环节,然后再用循环节减去字符串长度取余循环节的值就是所要添加的字符数
代码:
#include<stdio.h>#include<string.h>using namespace std;const int Max=1000010;int next[Max];char s[Max];int l;void getnext(){ next[0]=-1; int j=-1; int i=0; while(i!=l) { if(j==-1||s[i]==s[j]) { i++; j++; next[i]=j; } else { j=next[j]; } }}int main(){ int t; scanf("%d",&t); while(t--) { scanf("%s",s); l=strlen(s); getnext(); int cd=l-next[l];//cd是字符节的长度 if(l%cd==0&&l/cd>1)//如果字符串正好是由几个字符节组成那么就输出0,如果就由一个字符节组成就不能输出0了 { printf("0\n"); } else { printf("%d\n",cd-l%cd);//输出所要添加的字符数 } } return 0;}
0 0
- HDU-3746 Cyclic Nacklace
- HDU 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- HDU 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- HDU-Cyclic Nacklace-3746
- hdu 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- HDU 3746 Cyclic Nacklace
- HDU 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- hdu 3746 Cyclic Nacklace
- HDU 3746 Cyclic Nacklace
- HDU 3746 Cyclic Nacklace
- SpringMVC学习笔记:Ajax与Controller的参数交互
- 自定义特色组件
- 银行账户管理系统详细设计说明书
- viewpager不返回最大值实现轮播
- java中queue的使用
- HDU 3746 Cyclic Nacklace
- 关于计算机中的数据存储与显示
- Installation of Hadoop-1.2.1 Pseudo-distributed mode on Centos 7
- Java 虚拟机总结 - JVM 内存区域
- 制作包含依赖库的AAR包
- Bootstrap 栅格系统
- [mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
- 山东理工大学第八届ACM校赛——活动选择
- 今天大概了解了一下百度的点击率