hdu 5831 Rikka with Parenthesis II
来源:互联网 发布:淘宝店铺主页封面 编辑:程序博客网 时间:2024/05/21 14:53
题目链接
题意
给你一系列的有‘(’、‘)’组成的字符串,其中的数据量不大,问经过一次交换其中两个字符的位置能否使所有的括号都能符合题意给出的规范(也就是配对).
解题思路
可以用堆栈来模拟括号配对。当所有的括号都压栈或弹出后检查栈中剩下的不配对的括号是否多于4个。如果多于四个就不能经过一次操作后符合规范。 因为一次交换操作只能最多将4个不符合规范的括号调整为符合规范。然后就是些细节处理.(如果输入的左右括号数量不想等是不可能符合规则的,我是默认数据为相等的)
代码
#include <bits/stdc++.h>using namespace std;int main(){ stack<char> s; int tt; cin >> tt; int n; string p; while(tt--) { cin >> n; cin >> p; for(int i = 0; i < n; i++) { if(p[i] == '(') s.push(p[i]); else { if(s.size() > 0 && s.top() == '(') s.pop(); else { s.push(p[i]); } } } if( n%2 == 1||n < 2 || s.size() > 4) cout << "No" << endl; else if(n == 2 && s.size() == 0) cout << "No" << endl; else cout << "Yes" << endl; while(s.size()) s.pop(); }}
阅读全文
0 0
- hdu 5831 Rikka with Parenthesis II【水题】
- HDU 5831 Rikka with Parenthesis II
- hdu 5831 (Rikka with Parenthesis II)
- HDU 5831 Rikka with Parenthesis II
- HDU 5831 Rikka with Parenthesis II
- HDU 5831 Rikka with Parenthesis II
- HDU 5831Rikka with Parenthesis II
- hdu 5831 Rikka with Parenthesis II
- HDU 5831 Rikka with Parenthesis II 【贪心】
- hdu 5831 Rikka with Parenthesis II
- HDU 5831 Rikka with Parenthesis II (栈&思维)
- HDU 5831 Rikka with Parenthesis II(栈的使用)
- [HDU 5831] Rikka with Parenthesis II (实现)
- HDU 5831 Rikka with Parenthesis II (模拟)
- hdu 5831 Rikka with Parenthesis II 2016 Multi-University 8
- HDU-5831-Rikka with Parenthesis II-括号匹配
- HDU.5831 Rikka with Parenthesis II【模拟】【8月13】
- HDU 5831 Rikka with Parenthesis II(机智)
- Web自动化之Headless Chrome测试框架集成
- 记一次失败的小米面试
- AsyncTask简单的用法 点击加载图片
- leetcode 381. Insert Delete GetRandom O(1)
- 【面经笔记】红黑树的特性与其在C++ STL中的应用
- hdu 5831 Rikka with Parenthesis II
- 队列
- splay_tree
- JAVA-1009. 说反话 (20)
- CentOS 镜像文件下载中各文件的区别
- fgm实例练习笔记-3.3点击累加数字,自加1
- OpenCV3 Python语言实现 笔记4
- 51单片机的外部中断的学习(一)
- 微信小程序页面内转发 按钮 转发