首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

字符串最小示意模板

2012-10-19 
字符串最小表示模板#includecstdio#includecstring#includealgorithmusing namespace stdint gao(c

字符串最小表示模板


#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int gao(char *a,int len){    int i=0,j=1,k=0;    while(i<len && j<len && k<len){        int cmp = a[(j+k)%len]-a[(i+k)%len];        if(cmp==0)            k++;        else{            if(cmp>0)                j+=k+1;            else                i+=k+1;            if(i==j)j++;            k=0;        }    }    return min(i,j);}int main(){    char s[100];    int len;    while(scanf("%s",s)==1){        len=strlen(s);        printf("%d\n",gao(s,len));    }}

另外判断两个字符串是否同构,方法和上面是类似的,具体参见  周源的论文《浅析“最小表示法”思想在字符串循环同构问题中的应用》

热点排行