Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <stack>
- using namespace std;
- string cbs(string&);
- int main(){
- ifstream fin("stackin.txt");
- ofstream fout("stackout.txt");
- string buffer;
- while(getline(fin, buffer)) {
- fout << cbs(buffer) << endl;
- }
- fin.close();
- fout.close();
- return 0;
- }
- string cbs(string &buffer)
- {
- stack<char> brackets;
- for(int i = 0; i < buffer.length(); i++)
- {
- if(buffer[0] == ')' || buffer[0] == ']')
- {
- return "NO";
- }
- else if(buffer[i] == '[' || buffer[i] == '(')
- {
- brackets.push(buffer[i]);
- }
- else if( (buffer[i] == ']' && brackets.top() != '[') || (buffer[i] == ')' && brackets.top() != '('))
- {
- return "NO";
- }
- else
- {
- brackets.pop();
- }
- }
- if(brackets.empty())
- return "YES";
- else
- return "NO";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement