UVA-455(Score)
解题思路
连续的‘O’每次加一,遇到‘X’变为零,然后将所有的相加,即可得到最终的结果。
代码
#include <iostream>
#include <string>
using namespace std;
int main(){
int i, j, n;
char str[20][80];
int flag = 1;
int str1[20];
cin >> n;
for (i = 0; i < n; i++)
cin >> str[i];
fflush(NULL);
for (int k = 0; k < n; k++)
for (i = 1; i <= strlen(str[k]); i++){
flag = 1;
if (i > 1 && strlen(str[k]) % i != 0)
continue;
for (j = i; j < strlen(str[k]); j++)
if (str[k][j] != str[k][j%i]){
flag = 0;
break;
}
if (flag){
str1[k] = i;
break;
}
}
for (i = 0; i < n; i++)
cout << str1[i]<<endl;
return 0;
}