Module: (C++) 文字列と文字: ワークショップ - 2


Problem

2 /5


ブラケットシーケンスエディター

Problem

以下のみで構成される指定された文字列:
•英語のアルファベットの大文字と小文字;
•アンダースコア文字 (区切り文字として使用されます);
•かっこ (開始と終了の両方)。

各左括弧の後に、対応する右括弧が続くことが保証されています。同様に、各右中かっこの前には対応する左中かっこがあります。一致する括弧の各ペアについて、それらの間に他の括弧がないことは true です。つまり、文字列内の各括弧は開閉のペアであり、そのようなペアはネストされていません。
たとえば、有効な文字列は次のとおりです: _Hello_Vasya(and_Petya)__bye_(and_OK)
単語とは、連続する文字の展開不可能なシーケンスです。つまり、左右に括弧またはアンダースコアがある文字シーケンス、または対応する文字がない文字シーケンスです。
上記の例には、「Hello」、「Vasya」、「and」、「Petya」、「bye」、「and」の 7 つの単語が含まれています。そして「OK」。

以下を検出するプログラムを作成してください:
•括弧の外側の最も長い単語の長さ (括弧の外側に単語がない場合は 0 を出力)、
•括弧内の単語数 (括弧内に単語がない場合は 0 を出力)。
 
入力: 最初の行には整数 n (\(1 < ;= n <= 255\)) —指定された文字列の長さ。 2 行目には、小文字と大文字の英字、開きかっこ、およびアンダースコアのみで構成される文字列が含まれています。
 
出力: 2 つの数値を出力:
•括弧の外側の最長の単語の長さ (括弧の外側に単語がない場合は 0 を出力);
•括弧内の単語数 (括弧内に単語がない場合は 0 を出力)。
 
<頭> <本体>
注意
最初の例では、「こんにちは」、「ヴァシャ」という言葉そして「さようなら」かっこの外側に書かれ、「and」、「Petya」、「and」という単語そして「OK」 —中身。 「and」という言葉に注意してください。 2回発生し、回答でも2回考慮する必要があります。
# 入力 出力
1 37
_Hello_Vasya(and_Petya)__bye_(and_OK)
5 4
2
37
_a_(_b___c)__de_f(g_)__h__i(j_k_l)m__
2 6
3
27
(LoooonG)__shOrt__(LoooonG)
5 2
4
5
(___)
0 0