(艾迪茉莉转圈圈~~找最小环)Circular Sequence UVA - 1584
程序员文章站
2022-06-09 20:22:41
...
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
char a[211],b[211];
int n;
int main()
{
cin>>n;
while(n--)
{
cin>>a;
int len=strlen(a);
strcpy(b,a);///把a字符串复制给b
strcat(a,b);///把b接到a后面构成环
for(int i=1; i<len; i++)
{///比较两个字符串的前len-1位(i不能到len,因为是环)
if(strncmp(b,a+i,len)>0)
///比较len个字符,地址是从a+i开始
strncpy(b,a+i,len);///把len-1位字符串a复制给b
}///输出b字符串
puts(b);
}
}
inline char gc()
{
static char buff[100000000],*S=buff,*T=buff;
return S==T&&(T=(S=buff)+fread(buff,1,100000000,stdin),S==T)?EOF:*S++;
}
上一篇: WinRAR内部查看器怎么开启自动换行?
下一篇: PAT求单链表结点的阶乘和