#include using namespace std; #include<string.h>
class Stack{ public: Stack(); void Push(char x); void Pop(); char Gettop(); void Empty(); private: char data[50]; int top; };
Stack::Stack() { top = -1; }
void Stack::Push(char x) { top++; data[top] = x; }
void Stack::Pop() { top–; }
char Stack::Gettop() { if (top == -1) { return 0; } else { return data[top]; } }
void Stack::Empty() { if (top == -1) { cout << “yes”; } else { cout << “no”; } }
int main() { Stack S; char x[30]; int length,flag = 0; cin >> x; length = strlen(x); for (int i = 0; i < length; i++) { if (x[i] == ‘)’) { if (S.Gettop() == ‘(’) { S.Pop(); } else { flag = 1; break; } } else if (x[i] == ‘]’) { if (S.Gettop() == ‘[’) { S.Pop(); } else { flag = 1; break; } } else if(x[i] == ‘}’) { if (S.Gettop() == ‘{’) { S.Pop(); } else { flag = 1; break; } } else { S.Push(x[i]); } } if (flag == 1) { cout << “no”; } else { S.Empty(); } }