| 比赛场次 | 724 |
|---|---|
| 比赛名称 | ?板子大赛 |
| 比赛状态 | 已结束比赛成绩 |
| 开始时间 | 2026-01-17 08:10:00 |
| 结束时间 | 2026-01-17 14:00:00 |
| 开放分组 | 全部用户 |
| 组织者 | syzhaoss |
| 注释介绍 | 新注册的同学参加这个比赛 |
| 题目名称 | 括号匹配 |
|---|---|
| 输入输出 | kakko.in/out |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试点数 | 5 简单对比 |
| 用户 | 结果 | 时间 | 内存 | 得分 |
|---|---|---|---|---|
|
|
AAAAA | 0.680 s | 5.41 MiB | 100 |
|
|
AAAAA | 1.020 s | 23.43 MiB | 100 |
|
|
AWAWA | 0.145 s | 4.89 MiB | 60 |
|
|
AWAEE | 0.515 s | 12.80 MiB | 40 |
|
|
AAWWW | 0.718 s | 9.16 MiB | 40 |
|
|
AWWWE | 0.393 s | 6.25 MiB | 20 |
|
|
WWWEE | 0.560 s | 5.83 MiB | 0 |
|
|
WEEEE | 0.608 s | 4.21 MiB | 0 |
|
|
RRRRR | 0.770 s | 3.37 MiB | 0 |
|
|
WWWWT | 1.172 s | 9.27 MiB | 0 |
定义如下括号匹配序列:
1.空序列是匹配序列;
2.如果S是匹配序列,那么(S),[S],{S}和也是匹配序列;
3.如果A和B都是匹配序列,那么AB也是匹配序列。
例如,下面的字符串都是匹配序列:
(),[],(()),([]),()[],()[()],{{}}<>,([]<>{{}}),<<{}>>
而以下几个则不是:
(,[,],)(,()),([(),<<,{(}),<{}>)
序列中可能包含通配符,含义如下:
/表示任意1个左括号
#表示任意2个左括号
@表示任意4个左括号
?表示任意8个左括号
\表示任意1个右括号
*表示任意2个右括号
&表示任意4个右括号
!表示任意8个右括号
现在,给你一些由"("、")"、"["、"]"、"{"、"}"、"<"、">"和通配符构成的序列,你要做的,是判断该序列是否为匹配序列。
第一行:一个正整数N,表示测试数据组数;
接下来N行:每行一个括号序列(长度不超过L)。
共N行:对于每一个括号序列,判断其是否匹配。
对于不匹配的序列,直接输出FALSE。
对于匹配的序列,输出用单一空格隔开的3个信息:第一个信息为TRUE,第二个信息为括号的最大深度(层数),第三个信息为达到最大深度的次数。
3
{()}@<>{})))>
([})
?\\\\\\\]
TRUE 5 2 FALSE TRUE 8 1
对于第一组数据,@相当于<(((,是匹配的,括号的最大深度为5,该深度出现了2次。
对于第二组数据,[和}不匹配。
第三组数据想要说明的是,通配符间可以匹配。
对于20%的数据,有N=1,0<L≤20。
对于60%的数据,有0<N≤5,0<L≤2e3。
From TYVJ八月月赛提高组第1题 http://www.tyvj.cn/Problem_Show.aspx?id=1590