UVA - 455 Periodic Strings
2015-03-17 15:15
190 查看
Periodic Strings
Submit Status
Description
A character string is said to have period k if it can be formed by concatenating one or more repetitions of another string of length k. For example, the string "abcabcabcabc"
has period 3, since it is formed by 4 repetitions of the string "abc". It also has periods 6 (two repetitions of "abcabc") and 12 (one repetition of "abcabcabcabc").
Write a program to read a character string and determine its smallest period.
characters. Two consecutive input will separated by a blank line.
求周期串:
int len = strlen(s);
for (int i = 1; i <= len; i++)
if(len%i==0)
{
intok = 1;
for(int j = i; j < len;j++)
if(s[j] != s[j%i])
{
ok= 0; break;
}
if(ok)
{
cout<< len / i << endl;
break;
}
}
Time Limit: 3000MS | Memory Limit: Unknown | 64bit IO Format: %lld & %llu |
Description
Periodic Strings |
has period 3, since it is formed by 4 repetitions of the string "abc". It also has periods 6 (two repetitions of "abcabc") and 12 (one repetition of "abcabcabcabc").
Write a program to read a character string and determine its smallest period.
Input
The first line oif the input file will contain a single integer N indicating how many test case that your program will test followed by a blank line. Each test case will contain a single character string of up to 80 non-blankcharacters. Two consecutive input will separated by a blank line.
Output
An integer denoting the smallest period of the input string for each input. Two consecutive output are separated by a blank line.Sample Input
1 HoHoHo
Sample Output
2
求周期串:
int len = strlen(s);
for (int i = 1; i <= len; i++)
if(len%i==0)
{
intok = 1;
for(int j = i; j < len;j++)
if(s[j] != s[j%i])
{
ok= 0; break;
}
if(ok)
{
cout<< len / i << endl;
break;
}
}
#include<iostream> #include<cstring> using namespace std; int main() { int casen; cin >> casen; while (casen--) { char s[10000]; cin >> s; int len = strlen(s); for (int i = 1; i <= len; i++) if (len%i == 0) { bool ok = 1; for (int j = i; j < len; j++) if (s[j] != s[j%i]) { ok = 0; break; } if (ok) { cout << i << endl; break; } } if (casen) cout << endl; } }
相关文章推荐
- UVA 455 - Periodic Strings
- UVa 455 - Periodic Strings
- UVa 455 Periodic Strings
- 习题3-4 Periodic Strings UVa455
- UVa 455 Periodic Strings
- UVa 455 - Periodic Strings
- UVa455 Periodic Strings
- 算法竞赛入门经典第三章3-4 Periodic Strings UVA - 455
- Uva 455-periodic strings
- UVA 455 Periodic Strings
- UVa 455-Periodic Strings
- UVa455 Periodic Strings
- uva455 Periodic Strings
- UVA - 455 Periodic Strings
- UVa 455 - Periodic Strings
- [UVA455]Periodic Strings
- UVa-455 - Periodic Strings
- Uva 455-periodic strings
- Periodic Strings UVA - 455
- Periodic Strings UVA - 455