环状序列

简介: 环状序列

长度为n的环状串有n种表示法,分别为从某个位置开始顺时针得到。

求字典序最小的,也就是最小表示

#include <stdio.h>
#include <string.h>
#define maxn 105
int less(char *s,int p,int q)
{
   int i,n;
   n=strlen(s);
   for(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()
{
   int T ;
   char s[maxn];
   scanf("%d",&T);
   while(T--)
   {
      scanf("%s",s);
      int ans=0;
      int n=strlen(s);
      int i;
      for(i=0;i<n;i++)
      {
         if(less(s,i,ans)) ans=i;
         //不断更新ans
      }
      for(i=0;i<n;i++)
         putchar(s[(ans+i)%n]);
         putchar('\n');
   }
   return 0;
}
目录
相关文章
|
6月前
|
机器学习/深度学习 自然语言处理
序列到序列建模
序列到序列建模
|
7月前
分数序列
【6月更文挑战第9天】分数序列。
61 5
|
8月前
16.有一分数序列 1/2,2/3,3/5,5/8,8/13,13/21,…求出这个序列的前200 项之和
16.有一分数序列 1/2,2/3,3/5,5/8,8/13,13/21,…求出这个序列的前200 项之和
78 0
|
关系型数据库 MySQL 数据库
m 序列(最长线性反馈移位寄存器序列)详解
m 序列(最长线性反馈移位寄存器序列)详解
614 0
|
存储
[递推]双幂序列、多幂序列、双幂积序列的和
[递推]双幂序列、多幂序列、双幂积序列的和
220 0
[递推]双幂序列、多幂序列、双幂积序列的和
|
Python
|
存储 开发者 索引
序列|学习笔记
快速学习 序列
126 0