字母项链(necklace)
问题描述:
字母项链是由一串A = a1a2 ... am序列组成,m表示制成项链的珠子的个数。当项链围成一圈时,最后一个字母am就是a1的前驱(前一个)。第i个珠子比第j个珠子更容易断裂就是说序列aiai+1 ... ana1 ... ai-1的字典序小于序列ajaj+1 ... ana1 ... aj-1的字典序。序列a1a2 ... an的字典序小于序列b1b2 ... bn的字典序就是存在一个整数i(≤n), 对于每个j(1≤j < i)都要有aj=bj且ai < bi。编程找出最容易断裂的地方。
输入格式:
第一行为正整数t(≤5),表示数据组数;每组数据中,第一行为正整数m(10≤m≤10000),表示组成项链的字母长度,第二行为组成项链的字母序,每个珠子由一个英语的小写字母表示(a-z)。
输出格式:
对于每组数据,输出项链最坏连接处字母珠子的编号i,表示A[i]就是n个可能断裂点的字典序最小的地方。如果有不止一个的解,输出最小的i。
输入样例 输出样例
2
11
amandamanda
20
afdaksdjfoijaakjlkpq 11
13