热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C/C++语言入门——最小重复子串

》》》名人说:古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼一、问题呈现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;
}



三、测试图

为了使整体内容简洁,此处只展示一组测试数据结果。

image

时间记录:2022-03-21 10:08:00 星期一

作者:
月流苏(一个喜欢古诗词和编程的Coder)



推荐阅读
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了如何将CIM_DateTime解析为.Net DateTime,并分享了解析过程中可能遇到的问题和解决方法。通过使用DateTime.ParseExact方法和适当的格式字符串,可以成功解析CIM_DateTime字符串。同时还提供了关于WMI和字符串格式的相关信息。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
author-avatar
苦--但是依然love着你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有