Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <unordered_map>
- #include <vector>
- bool CheckSequence(const std::string &brackets) {
- std::vector<char> stack;
- std::unordered_map<char, char> brackets_dict{{'}', '{'}, {']', '['}, {')', '('}};
- for (auto bracket : brackets) {
- if (brackets_dict.count(bracket) == 0) {
- stack.push_back(bracket);
- } else if (!stack.empty() && brackets_dict[bracket] == stack.back()) {
- stack.pop_back();
- } else {
- return false;
- }
- }
- return stack.empty();
- }
- int main() {
- std::vector<char> stack;
- std::string brackets;
- std::cin >> brackets;
- if (CheckSequence(brackets)) {
- std::cout << "yes";
- } else {
- std::cout << "no";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment