可以參考 nkavengertree 大大的解題報告
#include <iostream>
#include <cstring>
using namespace std;
char text[1000001];
int main()
{
int len, last_zero;
while(cin >> text && text[0] != '.'){
len = strlen(text);
last_zero = 1;
for(int i = 1, s = 0; i<len; i++)
if(text[i] == text[s])
s++;
else{
if(s)
i--;
s = 0;
last_zero = i+1;
}
if(last_zero > (len>>1) || len%last_zero)
cout << 1 << endl;
else
cout << len / last_zero << endl;
}
return 0;
}
全站熱搜
留言列表