ამოხსნების სტატუსი

ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.


გაგზავნის თარიღი: 06.04.2021 11:42:12

ამოცანა: ფრჩხილთა კორექტული მიმდევრობა

მომხმარებელი: BitMeister

ვერდიქტი: ნაწილობრივი ამოხსნა

შეფასება: 90.0 ქულა







#include <iostream>
#include <string>
#include <stack>

using namespace std;

string par;
stack <char> s1;

main()
{
    cin >> par;

    for (int i = 0; i < par.size(); i++)
    {
        if (s1.empty())
        {
            s1.push(par[i]);
            continue;
        }
        if (par[i] == '(' || par[i] == '[' || par[i] == '{')
        {
            s1.push(par[i]);
        }
        if ((par[i] == ')' && s1.top() == '(') || (par[i] == ']' && s1.top() == '[') || (par[i] == '}' && s1.top() == '{'))
        {
            s1.pop();
        }
    }

    cout << (s1.size() ? "NO" : "YES");
}

ტესტები

შემავალი მონაცემები
{([({})]({[()]}))}
გამომავალი მონაცემები
YES
თქვენი პასუხი
YES
ჩეკერის პასუხი
YES
შემავალი მონაცემები
([({)])(})
გამომავალი მონაცემები
NO
თქვენი პასუხი
NO
ჩეკერის პასუხი
YES
შემავალი მონაცემები
()[]{}(())[[]]{{}}
გამომავალი მონაცემები
YES
თქვენი პასუხი
YES
ჩეკერის პასუხი
YES
შემავალი მონაცემები
{{[[((()))]]}}[({{{}}})]
გამომავალი მონაცემები
YES
თქვენი პასუხი
YES
ჩეკერის პასუხი
YES
შემავალი მონაცემები
{{[[((()))]]}}}[({{{}})]
გამომავალი მონაცემები
NO
თქვენი პასუხი
NO
ჩეკერის პასუხი
YES
შემავალი მონაცემები
((((((((((((((((((((((((((((((}}}}}}}}}}}}}}}}}}}}}}}}}}{{{{{{{{{{{{{{{{{{{{{{[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
გამომავალი მონაცემები
NO
თქვენი პასუხი
NO
ჩეკერის პასუხი
YES
შემავალი მონაცემები
{{}})(][(((((((((((((((((((((((((((()))))))))))))))))))))))))
გამომავალი მონაცემები
NO
თქვენი პასუხი
NO
ჩეკერის პასუხი
YES
შემავალი მონაცემები
(})
გამომავალი მონაცემები
NO
თქვენი პასუხი
YES
ჩეკერის პასუხი
NO
შემავალი მონაცემები
[[(((())))]]{{{{}}}}({({})})[{}[[[]()]]]
გამომავალი მონაცემები
YES
თქვენი პასუხი
YES
ჩეკერის პასუხი
YES
შემავალი მონაცემები
({[]))
გამომავალი მონაცემები
NO
თქვენი პასუხი
NO
ჩეკერის პასუხი
YES