Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <fstream>
  2. #include <stack>
  3.  
  4. using namespace std;
  5.  
  6. string cbs(string&);
  7.  
  8. int main(){
  9.     ifstream fin("stackin.txt");
  10.     ofstream fout("stackout.txt");
  11.     string buffer;
  12.  
  13.     while(getline(fin, buffer)) {
  14.         fout << cbs(buffer) << endl;
  15.     }
  16.     fin.close();
  17.     fout.close();
  18.     return 0;
  19. }
  20.  
  21.  
  22.  
  23. string cbs(string &buffer)
  24. {
  25.     stack<char> brackets;
  26.     for(int i = 0; i < buffer.length(); i++)
  27.     {
  28.         if(buffer[0] == ')' || buffer[0] == ']')
  29.         {
  30.             return "NO";
  31.         }
  32.         else if(buffer[i] == '[' || buffer[i] == '(')
  33.         {
  34.             brackets.push(buffer[i]);
  35.         }
  36.         else if( (buffer[i] == ']' && brackets.top() != '[') || (buffer[i] == ')' && brackets.top() != '('))
  37.         {
  38.             return "NO";
  39.         }
  40.         else
  41.         {
  42.             brackets.pop();
  43.         }
  44.     }
  45.     if(brackets.empty())
  46.         return "YES";
  47.     else
  48.         return "NO";
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement