POJ 2406 Power Strings (判字符串相同)

直接暴力就可以,注意暴力也要判断下,循环的长度要可以被总长整除再暴力啊。。

//Memory: 1160K		
//Time: 266MS
#include <iostream>
#include <string.h>
using namespace std;
char str[1000005];
int main()
{
	while(cin>>str)
	{
		if(str[0]=='.')
			break;
		int i,j,n,l=strlen(str);
		for(i=1;i<=l;i++)
		{
			n=1;
			if(l%i!=0)
				continue;
			for(j=i;j<=l;j+=i)
			{
				if(strncmp(str,str+j,i)!=0)
					break;
				else
					n++;
			}
			if(n*i==l)
				break;
		}
		cout<<n<<endl;
	}
	return 0;
}


你可能感兴趣的:(POJ 2406 Power Strings (判字符串相同))