码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 3746 Cyclic Nacklace

时间:2014-08-03 22:54:16      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   数据   for   

目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746

题目大意:补充珠子数使其成为手链,手链的规格是:比如这一组数据:abca,要想成为手链,必须满足abcabc,还要加两个,所以输出2。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 char str[1000005];
 6 int next[100005],len;
 7 
 8 void get_next()
 9 {
10     int i=0,j=-1;
11     next[0]=-1;
12     len=strlen(str);
13     while (i<len)
14     {
15         if (j==-1||str[i]==str[j])
16         {
17             i++;
18             j++;
19             next[i]=j;
20         }
21         else
22             j=next[j];
23     }
24 }
25 
26 int main ()
27 {
28     int t;
29     scanf ("%d",&t);
30     while (t--)
31     {
32         scanf("%s",str);
33         get_next();
34         //for (int i=0;i<len;i++)
35         //cout<<next[i]<<endl;  
36         int q=len-next[len];
37         if (len%q==0&&len!=q)
38             printf ("0\n");
39         else
40             printf("%d\n",q-len%q);
41     }
42     return 0;
43 }

 

hdu 3746 Cyclic Nacklace,布布扣,bubuko.com

hdu 3746 Cyclic Nacklace

标签:style   blog   http   color   os   io   数据   for   

原文地址:http://www.cnblogs.com/qq-star/p/3888830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!