CF223A.Bracket Sequence

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

A bracket sequence is a string, containing only characters "(", ")", "[" and "]".

A correct bracket sequence is a bracket sequence that can be transformed into a correct arithmetic expression by inserting characters "1" and "+" between the original characters of the sequence. For example, bracket sequences "()[]", "([])" are correct (the resulting expressions are: "(1)+[1]", "([1+1]+1)"), and "](" and "[" are not. The empty string is a correct bracket sequence by definition.

A substring s[l... r] (1 ≤ l ≤ r ≤ |s|) of string s = _s_1_s_2... s|s| (where |s| is the length of string s) is the string s__l__s__l + 1... s__r. The empty string is a substring of any string by definition.

You are given a bracket sequence, not necessarily correct. Find its substring which is a correct bracket sequence and contains as many opening square brackets «[» as possible.

括号序列是一个仅包含字符 (、)、[ 和 ] 的字符串。

正确的括号序列是指:通过在原序列的字符之间插入字符 1 和 +,能够将其转化为一个合法算术表达式的括号序列。例如,括号序列 ()[ 和 ([]) 是正确的(对应得到的表达式分别为 (1)+[1] 和 ([1+1]+1)),而 )( 和 [ 则不是。根据定义,空字符串是一个正确的括号序列。

字符串 $ s = s_1s_2\ldots s_{|s|} $(其中 $ |s| $ 表示字符串 $ s $ 的长度)的一个子串 $ s[l\ldots r] (( 1 \le l \le r \le |s| $)指的是字符串 $ s_ls_{l+1}\ldots s_r $。根据定义,空字符串是任意字符串的子串。

给你一个括号序列,它不一定是正确的。请找出它的某个子串,该子串是一个正确的括号序列,并且包含尽可能多的左方括号 [。

输入格式

The first and the only line contains the bracket sequence as a string, consisting only of characters "(", ")", "[" and "]". It is guaranteed that the string is non-empty and its length doesn't exceed 105 characters.

第一行且唯一一行包含一个括号序列字符串,该字符串仅由字符 "(", ")", "[" 和 "]" 组成。保证该字符串非空,且其长度不超过 10510^5 个字符。

输出格式

In the first line print a single integer — the number of brackets «[» in the required bracket sequence. In the second line print the optimal sequence. If there are more than one optimal solutions print any of them.

第一行输出一个整数——所求括号序列中左方括号「[」的个数。
第二行输出最优序列。若存在多个最优解,输出任意一个即可。

输入输出样例

  • 输入#1

    ([])

    输出#1

    1
    ([])
  • 输入#2

    (((

    输出#2

    0

输入解题思路,AI测评打分。不知道怎么写?

首页