3273:局长抓卷王

时间限制:2 S   /  内存限制:65536 KB
AC:20   /  Submit:57
问题描述

c++早期版本的max函数仅支持两个参数,如果要求大于2个数字的最大值时,可以进行嵌套。比如求[1,2,3]的最大值时可以写成max(1,max(2,3))。

现在反卷局局长正在调查卷王,卓佬一急之下把自己代码的标点符号和括号全部删掉。

经过重重困难,局长只拿到了一行由n个字符串s构成的代码(代码不使用逗号表达式,封号只在末尾),s只可能是"max"或者是数字。

每个字符串之间用空格隔开,反卷局局长在不改变字符串顺序的前提下,在字符串的间隙(包括开头和末尾),增加若干个逗号左(右)括号分号,从而还原代码,如果成功还原代码(还原后的代码不报错),卓佬就会被逮捕。现在局长给你一串代码考考你,问你这串代码有没有可能被正确还原?



输入描述

第一行是一个正整数 T 代表测试案例的数量。(1 <= T <= 100)

每组样例先是一个正整数n,代表字符串的个数(n<=1e3)

然后按顺序,依次输入n个字符串,每个字符串可能是数字或者"max",每个字符串之间用空格隔开,保证每个字符串的长度不超过10个字符。

输出描述

针对每组案例。

如果代码成功还原,输出还原后的代码。

代码如果不能还原,输出NO。

每组案例输出完都要换行

样例输入复制样例

3

5 max 1 max 2 3

6 max 1 2 max 3 4 

1 1

样例输出

max(1,max(2,3));

NO

1;

提示说明

针对第一组样例: "max 1 max 2 3"

能成功还原代码。还原以后代码变为”max(1,max(2,3));“。因此卓老是卷王

针对第二组样例: "max 1 2 max 3 4"

不能成功还原代码,因此卓老不是卷王,输出NO。

相关

TKK暑假赛Round#2


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1