<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 195, comments - 34, trackbacks - 0, articles - 1

    最小表示法

    Posted on 2009-11-02 18:13 小強摩羯座 閱讀(414) 評論(0)  編輯  收藏 所屬分類: 算法編程

    /*Problem: 1509  User: Uriel 
       Memory: 144K  Time: 16MS 
       Language: C  Result: Accepted
    */
     

    #include
    <stdio.h>
    #include
    <string.h>

    int min(int a, int b)
    {
        
    return a <= b ? a : b;
    }


    int MinimumRepresentation(char *s, int l)
    {
        
    int i = 0, j = 1, k = 0, t;
        
    while (i < l && j < l && k < l)
        
    {
            t 
    = s[(i + k)%l] - s[(j + k)%l];
            
    if (!t) ++ k;
            
    else
            
    {
                
    if (t > 0) i = i + k + 1;
                
    else j = j + k + 1;
                
    if (i == j) ++j;
                k 
    = 0;
            }

        }

        
    return min(i,j);
    }


    int x,len,i,t;
    char str[10010];
    int main()
    {
        scanf(
    "%d",&t);
        getchar();
        
    while(t--)
        
    {
            memset(str,
    0x00,sizeof(str));
            scanf(
    "%s",str);
            len
    =strlen(str);
            x
    =MinimumRepresentation(str,len);
            printf(
    "%d\n",x+1);
        }

        
    return 0;
    }


    //串的同構是,在若干次循環位移后可以變成相同
        static boolean isIsomorphism(String s1, String s2)
        
    {
            
    char[] u = (s1+s1).toCharArray();
            
    char[] w = (s2+s2).toCharArray();
            
            
    int i = 0;
            
    int j = 0;
            
    int len = s1.length();
            
    while(i < u.length && j < w.length)
            
    {
                
    int k = 0;
                
    while((i+k) < u.length && (j+k)<u.length  && u[i+k] == w[j+k])k++;//&& k < len
                System.out.println(k);
                
    if(k >= len) return true;
                
                
    if(u[i+k] > w[j+k])i = i+k+1;
                
    else j = j+k+1;
            }

            
    return false;
        }


    主站蜘蛛池模板: 亚洲精品美女久久久久久久| 亚洲日韩欧洲乱码AV夜夜摸| 一区二区三区亚洲| 精品四虎免费观看国产高清午夜| 亚洲国产精品日韩专区AV| 四虎精品免费永久免费视频| 亚洲乱码国产一区网址| 青娱乐在线视频免费观看| 亚洲乱码中文字幕综合234| 国产国产人免费人成成免视频| 亚洲国产成人久久综合区| 国产在线播放线91免费| 亚洲AV成人精品网站在线播放| 一区二区在线免费观看| 亚洲系列中文字幕| 四虎www免费人成| 精品国产呦系列在线观看免费 | 免费无码又爽又刺激网站| 国产精品久久久亚洲| 亚洲一级免费视频| 亚洲日本VA中文字幕久久道具| 免费一级国产生活片| APP在线免费观看视频| 亚洲一区在线视频| 亚洲国产专区一区| 97在线视频免费| 色www免费视频| 亚洲一区二区三区在线| 亚洲国产成人五月综合网| 日韩精品极品视频在线观看免费| 亚洲成_人网站图片| 亚洲VA中文字幕无码一二三区| 在线播放免费播放av片| 久久久精品午夜免费不卡| 大桥未久亚洲无av码在线 | 91精品成人免费国产| 国产亚洲综合视频| 亚洲www在线观看| 久久久久久久久亚洲| 亚洲精品线路一在线观看| 成人免费一区二区三区在线观看|