码迷,mamicode.com
首页 > 其他好文 > 详细

P52 环状序列

时间:2018-04-16 13:08:35      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:字符串   char   std   \n   c++   col   ESS   scan   pac   

#include<bits/stdc++.h>
using namespace std;
//p表示的序列是否比q表示的序列字典序小
int less(const char* s,int p,int q)
{
    int n=strlen(s);
    for(int i=0; i<n; i++)
    {
        if(s[(p+i)%n]!=s[(q+i)%n])
            return s[(p+i)%n]<s[(q+i)%n];
    }
    return 0;
}
int main()
{
    char s[100];
    scanf("%s",s);
    int l=strlen(s);
    int ans=0;//有ans记录字典序最小的位置
    for(int i=1; i<l; i++)
    {
        if(less(s,i,ans)) ans=i;
    }
    for(int i=0; i<l; i++)
    {
        printf("%c",s[(ans+i)%l]);
    }
    printf("\n");
    return 0;
}
//在字符串中实现循环用 % 。

P52 环状序列

标签:字符串   char   std   \n   c++   col   ESS   scan   pac   

原文地址:https://www.cnblogs.com/laoyangtou/p/8855131.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!