作者:苦--但是依然love着你 | 来源:互联网 | 2023-06-08 13:37
》》》名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼一、问题呈现1.问题描述ProblemDescription“轰”一声巨响,惊醒了沉睡中的FloydWars
》》》名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼
一、问题呈现
1.问题描述
Problem Description
“轰”一声巨响,惊醒了沉睡中的Floyd Warshall市
sxy在中心大楼,透过24k黄金玻璃窗,凝视着一片惨白的西方,巨响就是从那里传来的
"报告!---"
"嗯?什么事?“ sxy放下手中的一沓资料,向面前的黑衣人询问道
"报告首领,我们已经成功截获到那边传来的非正常的,正弦波信号!"
"什么,正弦波信号!!”sxy飞身而起,“看来错不了了,果然是那东西,错乱的线性空间内泄露来的正弦波信号,那就是通往线性世界的时空隧道,竟然跑到OI的世界里来了!把截获到的信号发给我!"
”是!“黑衣人转身离去
不久,信号就被送到sxy的办公桌上
嗯,我们需要对截获到的信号进行傅里叶分析,以期望能够得到时空隧道那边的信息。但为了便于分析,我们最好先找到信号重复最小单位,因为信号就是以这样的最小单位为单位地重复,因此我们只需要分析这一段信号的最小重复单位,就能知道这段信号表达的意思了(因为整个信号都是按这个单位重复的)。于是sxy找到了你,他相信你一定能解决这个问题的。
2.输入输出
Input
第一行,一个整数N,表示截获到的信号的长度
第二行一个长度为N的字符串,表示这个信号
Output
这个信号的最小重复单位的长度
3.测试样例
样例1
Sample Input
6
233233
Sample Output
3
样例2
Sample Input
8
12312341
Sample Output
8
解释
233233这个字符串的最小重复单位为233,其长度为3
12312341这个字符串最小重复单位是他自己,长度为8
数据范围与提示:1<=N<=1000
二、源码实现
#include
#include
using namespace std;
int main(){
int N;
cin>>N;
string str;
cin>>str;
for(int i=1;i<=N;i++)
{
if(N%i==0)
{
int flag = 0; //标记为0
for(int k = i;k {
if(str[k]!=str[k-i])
{
flag = 1;
break;
}
}
if(flag==0)
{
cout< break;
}
}
}
cout< return 0;
}
三、测试图
为了使整体内容简洁,此处只展示一组测试数据结果。
时间记录:2022-03-21 10:08:00 星期一
作者:月流苏(一个喜欢古诗词和编程的Coder)