栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

隐藏口令

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

隐藏口令

问题描述 :

有时候程序员有很奇怪的方法来隐藏他们的口令。

Billy"Hacker"Geits会选择一个字符串S(由L个小写字母组成,5<=L<=100,000),然后他把S顺时针绕成一个圈。

如字符串cbadfa,绕成一个圈后,我们认为字符串首尾相连。

每次取其中一个字母作为起始字母,并顺时针依次取字母而组成一个字符串。这样将得到一些字符串。

比如字符串cbadfa,按照以上规则取出的字符串有:

cbadfa badfac adfacb dfacba facbad acbadf

我们找到最小的那个字符串,可知为acbadf,也可知道它的第一个字符'a'在原字符串cbadfa中为第6个字符(位置从1开始),

将得到的结果6减1得到5,这就是我们需要的口令。

再比如字符串alabala,绕成一个圈后,每次取其中一个字母作为起始字母,并顺时针依次取字母而组成一个字符串。这样将得到一些字符串:

alabala labalaa abalaal balaala alaalab laalaba aalabal

我们找到最小的那个字符串,可知为aalabal,它的第一个字母'a'在原字符串中位置为7,7-1=6,则6为口令。

注:如果按照规则有两个字符串都是最小的,则取前面那一个。

输入说明 :

第一行:一个数L

第二行及之后:字符串S。

注意:字符串S可跨多行,但其中的'n'不算成S中的字符

输出说明 :

一行,为得到的口令。

无多余空格或空行。

输入范例 :6
                 cbadfa

输出范例 :5

解题思路:

       将所有字符串找出来,逐一比较;

       如果帮到你了,就请点个赞叭!

#include
#include

using namespace std;

struct Str
{
    string arr;
    int space;
};

int main()
{
    char ch;
    int n,i;
    cin>>n;
    getchar();
    string ans;
    Str s[n];
    for(i=0;i 


 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691887.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号