プレゼントパッケージ括弧マッチングC言語スタック操作


この日、特ちゃんの誕生日.彼の親友は彼に誕生日プレゼントを送ってきて、これらの贈り物はすべて丹念に包装していくつかの箱の中に置いて、贈り物は最も奥の層の箱の中に置いています.友达が彼にあげたプレゼントはこのようなルールに従って、価値のあるプレゼントほど深い箱に入れるべきです.彼は贈り物を受け取った後、急いでこれらの贈り物の価値を知りたくて、そこで彼は受け取った贈り物を括弧の形式で表現しました.具体的には、彼は贈り物の価値をこのように計算しています.
      1.-カッコは贈り物の箱を表し、箱の中には箱を入れることができます.つまり、カッコの中にカッコを入れることができます.カッコにカッコがない場合は、中にプレゼントが入っています.
      2.単独の括弧はこの贈り物が1層の包装しかないことを表し、価値が1(例えば「()」は価値が1の贈り物を表す)である.
      3.2つの合法的な括弧配列の結合による括弧配列の価値は、それらの価値の和(例えば「()」の価値が1+1=2である)である.
      4.贈り物は箱の中に置く層の数が深い-層ごとに、その価値は2倍になります.すなわち、ネストされたカッコシーケンスの価値は、ネストされたカッコシーケンスの価値の2倍(例えば(0))「価値は1*2*2=4)である
特さんが贈り物を判断するルールに基づいて、彼が書いた括弧がどれだけの価値のある贈り物を表しているかを教えてください.
特さんは彼が書いたかっこが正しいことを保証します.
 
Inputは'('と')'のみを含む合法的な括弧シーケンスSであり、小特筆下の括弧シーケンスを表し、合法的な括弧シーケンスはこのように定義されている:1、()は合法的な括弧シーケンス2であり、文字列AとBが合法的な括弧シーケンスである場合、ABも合法的な括弧シーケンス3であり、文字列Aが合法的な括弧シーケンスである場合、(A)も合法的な括弧配列2<=ISI<=50 Outputの1つの数字であり、小特が書いた括弧配列が表す贈り物の価値Sample Input(()(((()))Sample Output 6コードを表す.
#include
#include
#include
#include
#include
using namespace std;
stack s;
char a[55];

int main()
{	
	int n,i,k,sum;
	while(~scanf("%s",&a))
	{
		k=0,sum=0;
		for(i=0;i