#104. Wendy的程序

内存限制:16 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: TobyShi

题目描述

【题目背景】

最近Toby突发灵感创造了新的一种编程语言,并将其取名为Wody。并且邀请Wendy来测试。

然后Toby和Wendy分别写了两个程序,你的任务是要判断这两个程序的输出是否一致。

【题目描述】

因为功能尚不完善,所以Wody现在不支持读入数据,唯一的数据类型就是int型数组,而且只支持四种操作,不仅如此,Wody语言所有的代码都必须在一行写完,而且中间不能有任何空格。

以下是四种操作:

  • [a1,a2,...,an]:创建一个长度为,内部元素依次为的数组。这个表达式的值就是这个数组;
  • merge(list1,list2):将两个数组拼接。是两个数组,这个表达式的值是将两个数组首尾相连形成的新数组;
  • sort(list):将数组从小到大排序。这个表达式的值就是排序后的数组;
  • shuffle(list):利用下面给定的函数随机打乱数组。这个表达式的值就是打乱后的数组(用于打乱的函数和方法会在下面给出)。
/* mylist是欲打乱的数组的首地址(或数组名),len是数组长度 */
void shuffle(int* mylist, int len)
{
    static unsigned lucky_number = 520;
    while(len > 1)
    {
        int temp = *mylist;
        *mylist = *(mylist + lucky_number % len);
        *(mylist + lucky_number % len) = temp;
        mylist++; len--;
        lucky_number *= 113344;
        lucky_number += 993311;
    }
}

题目要求:题目会给出两行代码,你需要比较两行代码的结果是否一致,一致输出TobyWendy,不一致输出Failed(输出不带引号)

输入格式

两行字符串分别代表两个程序。

保证字符串中间没有任何空白符。

保证只会出现"merge","sort","shuffle"以及小括号、中括号、逗号和数字。

保证输入符合Wody的语法要求。

保证所有数字在int范围内。

保证不存在空数组(即中括号之间必有至少一个数)。

输出格式

一行,"TobyWendy"或者"Failed"。

样例

【样例输入1】

[1,2,5,-1]
shuffle(merge([1,2,-1],[5]))

【样例输出1】

TobyWendy

【样例解释1】

两个程序的结果都是[1,2,5,-1]

【样例输入2】

sort([7,3,2,8])
shuffle(shuffle([7,3,2,8]))

【样例输出2】

TobyWendy

【样例解释2】

两个程序的结果都是[2,3,7,8]

【样例输入3】

merge(sort([9,1,5]),[-5])
sort(merge([9,1,5],[-5]))

【样例输出3】

Failed

【样例解释3】

第一个程序的结果是[1,5,9,-5] 第二个程序的结果是[-5,1,5,9]

数据范围与提示

【数据范围】

每段程序字符串长度<200

【提示】

  • 创建数组操作可以用malloc指令
  • merge操作可以realloc然后memcpy
  • sort操作可以用qsort函数
  • shuffle操作函数已经给出了
  • 所以本题只是考一个括号匹配而已
通告标题

通告内容

已知晓