4864148_tle.cpp
来自「部分PKU上的源码」· C++ 代码 · 共 55 行
CPP
55 行
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int compare(const void *p1,const void *p2)
{
string q1=*(string*)p1;
string q2=*(string*)p2;
return q1.compare(q2);
}
int main()
{
int testnumber,i;
string input;
string q[1000];
int ql;
cin>>testnumber;
for(int count=0;count<testnumber;count++)
{
cin>>input;
ql=0;
q[ql]=input;
for(i=1;i<input.length();i++)
{
string t1,t2,ne;
t1=input.substr(0,i);
t2=input.substr(i,input.length());
ne=t2+t1;
q[ql++]=ne;
reverse(t1.begin(),t1.end());
ne=t1+t2;
q[ql++]=ne;
ne=t2+t1;
q[ql++]=ne;
reverse(t2.begin(),t2.end());
ne=t1+t2;
q[ql++]=ne;
ne=t2+t1;
q[ql++]=ne;
reverse(t1.begin(),t1.end());
ne=t1+t2;
q[ql++]=ne;
ne=t2+t1;
q[ql++]=ne;
}
qsort(q,ql,sizeof(string),compare);
int all=1;
for(i=1;i<ql;i++)
{
if(q[i]!=q[i-1]) all++;
}
cout<<all<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?