⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1961.cpp

📁 这些是我到目前在PKU上做出的题目
💻 CPP
字号:
#define MAX_LENGTH 1000001
#include <stdio.h>
#include <string.h>
char s[MAX_LENGTH];
int next[MAX_LENGTH];
int main()
{	
	int i,j,k,length,count,num=0;
	while(1)
	{
        scanf("%d",&length);
        if(length==0)
            break;
		scanf("%s",s+1);		
		i=1;
		j=0;
		next[1]=0;
		while(i<=length)
		{
			if(s[i]==s[j]||j==0)
			{
				i++;
				j++;
				next[i]=j;
			}
			else
				j=next[j];
		}
		printf("Test case #%d\n",++num);
        for(k=2;k<=length;k++)
        {
            if(k%((k+1)-next[k+1])==0)
            {
			    count=k/((k+1)-next[k+1]);
                if(count!=1)
                    printf("%d %d\n",k,count);
            }
		    
        }
		printf("\n");
	}
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -