2059 - Coding_Kamba君
時間制限 2 秒 / メモリ制限 256 MB / 得点 74 / Writer ei2437 / x 9 / 統計 /
-
タグ:
- Pandora
- 24授業班
- Kamba君シリーズ
問題
Kamba君はとある競技プログラミングの問題を解いています。Kamba君が問題を解くのに使用しているプログラミング言語のルールの一部として「括弧に関するルール」があります。
そこで、Kamba君が作成したコードの一部が文字列として与えられます。その文字列が「括弧に関するルール」に従い、構文的に正しい括弧構造を持っているならば Yes を出力し、そうでないならば、No を出力してください。
括弧に関するルール
- 開き括弧 (, {, [ に対して、閉じ括弧 ), }, ] が順番通りに過不足なく存在していること。
- 良い例1 : (){}[]
- 良い例2 : ()()
- 悪い例1 : (]{)[}
- 悪い例2 : ()(
- 良い例 : ()
- 悪い例 : )(
- 例1 : ((()))
- 例2 : ({[]})
- 例 : (abcABC123)
入力
入力は以下の形式で標準入力から与えられる。
$S$
文字列 $S$ が与えられる。
出力
出力の最後に改行を入れること。
制約
全ての入出力ケースについて以下を満たす。
- $1 \leq |S| \leq 7.4 \times 10^5$
なお、この問題において、$|S|$ は文字列 $S$ の長さを表します。 - 文字列 $S$ はASCIIコードの $41$ 番目から $126$ 番目までの文字で構成される。
また、この文字は全て表示可能文字であり、スペース、改行、その他制御文字は含まれない。
入出力例
入力例1
a=Number(input());
出力例1
Yes
正しい括弧構造を持っています。
入力例2
a=Number(input();
出力例2
No
閉じ括弧 ) が足りていません。
入力例3
a=Number{input(});
出力例3
No
閉じ括弧の順番に誤りがあります。
入力例4
a=Number)input()(;
出力例4
No
括弧を使用するときは必ず、開き括弧から書く必要があります。
入力例5
return;
出力例5
Yes
そもそも括弧がないですが、「括弧に関するルール」には一切反していないので正しいと判断できます。