Look and Say 序列是一种很有意思的序列,它的首项是 1,之后的每一项的数字都通过对前面一项的数字“边看边说”得到。
形式化地,设 an 表示序列第 n 项,且 S(x,y)=xyy⋯y,是由数字 y 重复 x(x≥1) 次构成的字符串。若 an−1=S(x1,y1)+S(x2,y2)+⋯+S(xk,yk),且 ∀i(1≤i<k),yi=yi+1,其中 "+" 表示字符串连接,那么 an=x1y1x2y2⋯xkyk。容易知道在上述约束下 an 可以由 an−1 唯一确定。
因为序列的第一项只有 1 个 1 ,所以第二项就是 11;
因为第二项有 2 个 1,所以第三项就是 21;
因为第三项有 1 个 2 和 1 个 1,所以第四项就是 1211。
以此类推。该数列的前几项为
1,11,21,1211,111221,312211,⋯
现在给你一个由数字组成的字符串,确定这个字符串出现在 Look and Say 序列中的第几位。数据保证序列中一定会出现给出的字符串。