【UVa】10298 - Power Strings
来源:互联网 发布:凸优化 中文版 pdf 编辑:程序博客网 时间:2024/06/05 16:25
Problem here
Given two strings a and b we define a ∗ b to be their concatenation. For
example, if a = ‘abc’ and b = ‘def’ then a ∗ b = ‘abcdef’. If we think of
concatenation as multiplication, exponentiation by a non-negative integer
is defined in the normal way: a
0 = ‘’ (the empty string) and a
(n+1) =
a ∗ (a
n).
Input
Each test case is a line of input representing s, a string of printable characters.
The length of s will be at least 1 and will not exceed 1 million
characters. A line containing a period follows the last test case.
Output
For each s you should print the largest n such that s = a
n for some string
a.
Sample Input
abcd
aaaa
ababab
.
Sample Output
1
4
3
Solution
#include <iostream>#include <string>//#include <fstream>#define MAX_NUM 9999999using namespace std;//ifstream fin("10298.in");//ofstream fout("10298.out");int next_pos[1000001];void getNext(string str){ next_pos[0] = -1; int j = 0, k = -1; while(j < str.size()){ if(k == -1 || str[j] == str[k]){ next_pos[++j] = ++k; } else{ k = next_pos[k]; } }}int main(){ string input; while(cin >> input){ if(input == ".") break; getNext(input); int length = input.size(); if(length % (length- next_pos[length]) == 0 && next_pos[length] != 0) cout << length / (length - next_pos[length]) << endl; else cout << 1 << endl; } return 0;}
0 0
- UVa 10298 - Power Strings
- 【UVa】10298 - Power Strings
- uva 10298 - Power Strings(KMP)
- UVA 10298 - Power Strings(KMP)
- UVA - 10298 Power Strings (KMP求字符串循环节)
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- Power Strings
- ★leetcode05_Longest Palindromic Substring
- LIB和DLL的区别和使用
- CSS居中和多列布局
- 文章标题
- 909422229__利用dom4j修改XML数据_进行增删改查【最新】
- 【UVa】10298 - Power Strings
- 2017滴滴出行面试题 n 张桌子吃饭的最大利润
- Lightoj1009——Back to Underworld(DFS)
- [Android开发]ScrollView中嵌套ListView
- Anadroid 之使用ImageLoader 默认配置和手动配置参数
- 千里之行,始于足下
- Linux-C基础知识学习:C语言作业-输入三角形底和高,输出三角形面积
- swift youtube player 使用心得
- JVM原理优化和GC的处理