《P4391 [BalticOI 2009] Radio Transmission 无线传输 题解》

题目描述

给你一个字符串 s1​,它是由某个字符串 s2​ 不断自我连接形成的(保证至少重复 2 次)。但是字符串 s2​ 是不确定的,现在只想知道它的最短长度是多少。

输入格式

第一行一个整数 L,表示给出字符串的长度。

第二行给出字符串 s1​ 的一个子串,全由小写字母组成。

输出格式

仅一行,表示 s2​ 的最短长度。

输入输出样例

输入 #1复制

复制代码
8
cabcabca

输出 #1复制

复制代码
3

说明/提示

样例输入输出 1 解释

对于样例,我们可以利用 abc 不断自我连接得到 abcabcabcabc,读入的 cabcabca,是它的子串。

规模与约定

对于全部的测试点,保证 1≤L≤106。

代码实现:

#include<iostream>

#include<string>

#include<cmath>

using namespace std;

int main()

{

int n;

cin>>n;

string s,s1;

cin>>s;

int m=s.length();

s1=s;

int count=0;

for(int i=0;i<m;i++)

{

if(s1.substr(i+1,m-1-i)==s.substr(0,m-1-i)) //从i+1开始长度为m-1-i;从0开始长度为m-1-i;

{ count=i+1;

break;

}

}

cout<<count;

return 0;

}

相关推荐
im_AMBER2 小时前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
凯芸呢2 小时前
Java中的数组(续)
java·开发语言·数据结构·算法·青少年编程·排序算法·idea
寂静山林2 小时前
UVa 1030 Image Is Everything
算法
AI柠檬2 小时前
几种排序算法的实现和性能比较
数据结构·算法·c#·排序算法
weixin_429630263 小时前
第6章 支持向量机
算法·机器学习·支持向量机
SweetCode3 小时前
C++ 实现大数加法
开发语言·c++·算法
王哈哈^_^3 小时前
【数据集】【YOLO】【目标检测】共享单车数据集,共享单车识别数据集 3596 张,YOLO自行车识别算法实战训推教程。
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测·毕业设计
CodeWizard~4 小时前
AtCoder Beginner Contest 430赛后补题
c++·算法·图论
大大dxy大大4 小时前
机器学习-KNN算法示例
人工智能·算法·机器学习
关于不上作者榜就原神启动那件事5 小时前
模拟算法乒乓球
开发语言·c++·算法