百度空间 | 百度首页 
 
查看文章
 
化简括号
2006-11-05 10:53

化简括号

程序名:shorten.*                                                                              时间限制:1

输入:shorten.in                                                                                 内存限制:32M

输出:shorten.out

 

问题背景:

最近ZZ苦于《数学分析》课的老师上课速度飞快,以致抄板书的速度跟不上老师的进度,特别是在遇到复杂的多项式因子之积时,总会有连续多个括号产生,比如(x(x(x(x(x+2)))))…于是ZZ有时不得以将单个或多个连续右括号“)”改写成“]”(但在时间充裕时他仍然会按常规写法而不用改写)。

然而课后ZZ在复习时发现,将“]”还原成对应数量的“)”实在是太麻烦了,恳求你编写一个程序告诉他每个“]”与多少个“)”匹配。

注:“(”“)”“]”均为半角的括号。

 

输入说明:

第一行两个整数0≤N≤107, 0≤M≤5*106, M≤NN代表括号串的长度,M代表“]”的个数。

第二行开始为括号串,由“(”“)”“]”组成,每行最多72个字符。

 

输出说明:

第一行为一个数字,01。如果输入文件中括号能全部匹配,则输出1,否则输出0

第二行开始,每行为一个整数,依次输出“]”所代表的“)”的个数。

如果有多种匹配方案,输出任意的一个。

 

样例输入:

8 2
(((((])]

 

样例输出:

1
3
1

 

数据范围:

对于40%的数据,保证N100

对于80%的数据,保证N200,000

对于100%的数据,保证N10,000,000


类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (20)
 
最近读者:
 
网友评论:
1
2006-11-05 13:06 | 回复
请问如果输出0后,事后还需输出‘]’所代表的‘)’的个数?
 
2
2006-11-05 13:06 | 回复
此题使用Special Judge是什么意思?
 
5
2006-11-05 13:14 | 回复
to xjo:输出0后不需要输出其它东西。 to 余煊:Special Judge表示输出答案不唯一,需要用特殊的程序判断你的答案的正确性。
 
6
2006-11-05 13:39 | 回复
每行至多72字符是指多于72字符就换行还是指每行有可能不到72字符?
 
7
2006-11-05 13:46 | 回复
Baiger:多于72字符就换行
 
8
2006-11-05 13:47 | 回复
我觉得这题光读入就会超时
 
9
2006-11-05 13:57 | 回复
to map:我们反复测试过,使用正确的算法是可以在规定时间内出结果的。
 
10
2006-11-05 14:09 | 回复
对于每个']'最多代表的')'数没有限制么?
 
11
2006-11-05 14:13 | 回复
@nothing to say:没有限制。
 
12
2006-11-05 14:36 | 回复
这个题读入很可能就超时,读入1000^2就要3S左右了
 
13
2006-11-05 14:41 | 回复
to sun:想一下有没有更好的读入方法呢?
 
14
2006-11-05 14:43 | 回复
']'可以代表0 吗?
 
15
2006-11-05 14:44 | 回复
化简括号若不能匹配,还要输出第二行吗?
 
17
2006-11-05 14:48 | 回复
to oier:]至少代表1个),注意题目中“将单个或多个连续右括号“)”改写成“]”” to zyf:若不能匹配,只要输出0。
 
18
2006-11-05 14:50 | 回复
]对应0个)的情况算不算可以匹配??
 
19
2006-11-05 15:07 | 回复
请问对于 ((](] 输出 1 1 2 算正确吗?
 
20
2006-11-05 15:18 | 回复
to testit:正确,但是别忘了1行输出1个数字
 
21
2006-11-05 15:20 | 回复
恩,谢谢,服务的态度很好,不愧是交大滴。
 
22
2006-11-05 16:24 | 回复
如果是0,那么只要0其他没有任何输出吗?
 
23
2006-11-05 16:28 | 回复
是的,前面已经回答了
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu