编程介的小学生 2017-02-16 11:29 采纳率: 20.5%
浏览 828
已采纳

Necklace Decomposition

The set of cyclic rotations of a string are the strings obtained by embedding the string clockwise on a ring, with the first character following on the last, starting at any character position and moving clock-wise on the ring until the character pre-ceeding the starting character is reached. A string is a necklace if it is the lexico-graphically smallest among all its cyclic rotations. For instance, for the string 01011 the cyclic rotations are (10110,01101,11010,10101,01011), and furthermore 01011 is the smallest string and hence, a necklace.

Any string S can be written in a unique way as a concatenation S = T1T2...Tk of necklaces Ti such that Ti+1 < Ti for all i = 1,... , k - 1, and TiTi+1 is not a necklace for any i = 1, ..., k - 1. This representation is called the necklace decomposition of the string S, and your task is to find it.

The relation < on two strings is the lexicographical order and has the usual interpretation: A < B if A is a proper prefix of B or if A is equal to B in the first j - 1 positions but smaller in the jth position for some j. For instance, 001 < 0010 and 1101011 < 1101100.

Input

On the first line of the input is a single positive integer n, telling the number of test scenarios to follow. Each scenario consists of one line containing a non-empty string of zeros and ones of length at most 100.

Output

For each scenario, output one line containing the necklace decomposition of the string. The necklaces should be written as '(' necklace ')'.

Sample Input

5
0
0101
0001
0010
11101111011

Sample Output

(0)
(0101)
(0001)
(001)(0)
(111)(01111)(011)

  • 写回答

2条回答 默认 最新

  • threenewbee 2017-02-21 15:21
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制