题目名称 787. BOB还是BBO
输入输出 bob.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-04-19加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:1, 提交:9, 通过率:11.11%
GravatarHantao Pan 100 0.643 s 0.32 MiB C++
Gravatar201101 80 3.175 s 0.28 MiB C++
GravatarMakazeu 70 3.796 s 0.26 MiB C++
GravatarMakazeu 70 3.802 s 0.26 MiB C++
Gravatar苏轼 70 3.991 s 0.27 MiB C++
GravatarQhelDIV 70 4.161 s 0.27 MiB C++
Gravatar王者自由 50 5.092 s 0.04 MiB C++
GravatarQhelDIV 10 4.366 s 0.27 MiB C++
Gravatar201101 0 3.157 s 0.28 MiB C++
本题关联比赛
20120419x
关于 BOB还是BBO 的近10条评论(全部评论)
string类的substr()可过
GravatarHantao Pan
2013-06-18 16:34 2楼
string類 真...球...慢
===============
程志博可惜啊,Linux下strcmp返回第一個不相同字符ASCII碼相減的值,,,不一定是-1。
GravatarMakazeu
2012-04-19 18:50 1楼

787. BOB还是BBO

★   输入文件:bob.in   输出文件:bob.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

定义1:如果字符串S=(S0 S1 S2...Sn),Ror(S)=(SnS0 S1...Sn-1)

定义2:Ror0(S)=S,Rorn(S)=Ror(Rorn-1(S)
定义3:Pow(S)={Ror0(S),Ror1(S),…,Rorlen(S)-1(S)}
现在你的工作是找到一个字符串T有最小的字典序在POW(S)里
举个例子:S=BOB,Ror0(S)=BOB,Ror1(S)=BBO,Ror2(S)=OBB
Pow(S)={ BOB,BBO,OBB}.
显然,T=BBO是正确的结果。

【输入格式】

输入第一行有一个整数,表示后面测试数据的个数。每组数据包括一个字符串S。都由大写字母组成。S的长度不会超过10000。

【输出格式】

程序的输出应该每个数据包括一行。每个输出只包括一个字符串T。不需要多余的空格。

【输入样例】

输入文件名:bob.in

1
BOB

输出文件名:bob.out

BBO