(每日一练)题目名称:括号匹配

文盲老顾 文盲老顾 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

有四种括号:大括号{}、中括号[]、小括号()和尖括号<>。它们之间不能错套,且需要配对。 错套的意思是:某种括号的前半部分和后半部分之间,仅套着不同类括号的某一半部分而没有另一半部分。错套的样例如下: <<<>>{>([hello[]]}){world} 因为在尖括号的前半部分和后半部分之间,仅套着大括号的前半部分而没有后半部分。 配对的意思是:如果出现了某种括号的前半部分,则必须在之后有同样数量的同类括号的后半部分与之对应;反之如果出现了某种括号的后半部分,则必须在之前有同样数量的同类括号的前半部分与之对应。正确的配对样例如下: <<<>>>({[hello[]]}){world} 错误的配对样例如下: ))<<<>>([hello[]]){world} 因为前2小括号只有后半部分而缺失了前半部分,而尖括号的前半部分有3个,而后半部分只有2个。

单行文本(字符数小于100000)。

如果括号正确匹配(即不存在错套且都正确配对),则按大、中、小、尖的顺序输出实际存在的各类括号的数量(如果不存在就不输出)。
格式形如: 20[]6<>
以上输出代表括号正确匹配,且没有大括号、有20对中括号、没有小括号、有6对尖括号。如对于描述中正确的配对样例应该输出: 2{}2[]1()3<>
如果存在错套,则输出第一处错套的前后半个括号,并附一个感叹号(!)。如对于描述中错套的样例应该输出: {>!
如果不存在错套,但存在错误的配对,则大、中、小、尖各自前半部分在先、后半部分在后的顺序输出缺少的括号数量(不输出正确匹配的括号数量)。
格式形如: 4}7(9)16<
以上输出代表不存在错套,但存在错误的配对,其中有4对大括号只有前半部分而缺少后半部分,有7对小括号只有后半部分而缺少前半部分、有9对小括号只有前半部分而缺少后半部分、有16对尖括号只有后半部分而缺少前半部分。如对于描述中错误的配对样例应该输出: 2(1>

又一个新题目,这个题目倒是能直接AC,但是。。。。这是阅读理解题,要仔细阅读输出格式,如果格式有问题,那就只能 60% pass 了。

为了避免干扰周赛,暂时先不放代码。

...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
文盲老顾
文盲老顾 新星创作者: 信息安全技术领域 新星创作者: 信息安全技术领域领域专家: 数据库技术领域 领域专家: 数据库技术领域
老顾的一亩三分地 320 成员 160 内容