问题6951--奶牛密码

6951: 奶牛密码

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 256 MiB

题目描述

【题目描述】

奶牛们正在试验密码,并设计了一种方法来创建一个无限长的字符串,用作它们的密码的一部分。

给定一个字符串S,设F(s)s,后面跟S向右“旋转”一个字符(在向右旋转中,S的最后一个字符旋转并成为新的第一个字符)。给定一个初始字符串S,奶牛通过重复应用F来构建其无限长的代码字符串;因此,每个步骤使当前字符串的长度加倍。

给定初始字符串和索引N,请帮助奶牛计算无限代码字符串中第N个位置的字符。

【输入格式】(cowcode.in):

输入一行,包含一个由大写字符组成的字符串和一个整数N,大写字母最多30个字符,且N10^18

注意,N可能太大,不适合标准的32位整数,所以你可能想使用64位整数类型(例如,C/ c++中的"long long")

【输出格式】(cowcode.out):

请输出从初始字符串构建的无限代码的第n个字符。第一个字符是N=1

【样例输入】:

COW 8

【样例输出】:

C

【样例说明】

在本例中,初始字符串COW展开如下:

COW-> COWWCO->  COWWCOOCOWWC

来源/分类