(笨脑子很难抽象的去想问题,这道题也是,要多加练习)
我的思路:从第一个元素开始,在遇到相同元素,就暂且把这个元素的序列作为最小周期,在循环判断,是否是循环数列,如果不是就退出,并找出下一个符合的最小周期,直到最后都没有退出,则输出这个最小周期。
总结:我的思路总是一步一步进行,但我看到大佬的博客,说的就很简洁:枚举循环节(循环节要能被字符串长度整除),进行循环判断,找到第一组解就是最小解。
先上大佬的代码
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int t; cin >> t;
char s[85];
while (t--)
{
memset<