首页 > 试题广场 >

旋转数字

[编程题]旋转数字
  • 热度指数:467 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小图(Tu)和小森(Simple)最近发现了一个有趣的游戏。

在游戏的一开始,小图和小森会分别获得一个初始数字t和s,10 < t, s < 109。之后,他们会从初始数字开始,不停地将自己数字的第一位移动到最后一位。

例如,初始数字是123的时候,数字的变化是:

123 -> 231 -> 312 -> 123 -> ...

在这之后,他们需要把每一个数字依次接到前一个数字最高位的前面,构成一列无限长的数字。例如,对于上面的例子,构成的数字是:

... 231123312231123312231123

假设小森拿到的数字是31321,那么他构成的数字是:

... 1313221313321311321331321

接下来,他们会选择一个k值,并比较他们自己数字的后k位,较大的人会赢得最终的胜利。

小图和小森有他们进行的若干局游戏的记录,每局游戏都记录了t、s和k的值。他们希望知道,在这些游戏中,分别是谁获得了胜利?

输入描述:
输入的第一行是一个n(1 <= n <= 104),表示游戏进行的局数。
接下来的n行中每行有三个数,依次为题目中的t、s和k(10 < t, s < 109, 1 <= k <= 109)。
为了方便计算,小图和小森的初始数字(t、s)的所有数位都不是0。


输出描述:
输出包含n行,每一行是"Tu"、"Simple"和"Draw"中的一个字符串(不含引号),表示胜利者是谁,或者是平局。
示例1

输入

3
123 31321 1
123 31321 3
123 31321 9

输出

Tu
Simple
Simple

说明

两个人的初始数字和题目描述中一致。以第三组为例,k=9,那么两个人数字的后9位分别是:
312231123

321331321
所以获胜者是小森(Simple)。