HDU 5479(栈的应用)
2015-09-29 20:42
204 查看
Scaena Felix
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 426 Accepted Submission(s): 186
Problem Description
Given a parentheses sequence consist of '(' and ')', a modify can filp a parentheses, changing '(' to ')' or ')' to '('.
If we want every not empty <b>substring</b> of this parentheses sequence not to be "paren-matching", how many times at least to modify this parentheses sequence?
For example, "()","(())","()()" are "paren-matching" strings, but "((", ")(", "((()" are not.
Input
The first line of the input is a integer T,
meaning that there are T test
cases.
Every test cases contains a parentheses sequence S only
consists of '(' and ')'.
1≤|S|≤1,000.
Output
For every test case output the least number of modification.
Sample Input
3 () (((( (())
Sample Output
1 0 2
//判断()的个数行
// 利用栈的先进后出的特点模拟
#include <stdio.h> #include <string.h> #include <stack> using namespace std; char str[1000+10]; int main() { int t; scanf("%d",&t); while(t--) { getchar(); scanf("%s",str); stack <char> s; int len=strlen(str); int cnt=0; for(int i=0;i<len;i++) { if(str[i]=='(') s.push(str[i]); else if(str[i]==')') { if(!s.empty()) //判断是否为空 { s.pop(); cnt++; } } } printf("%d\n",cnt); } return 0; }
相关文章推荐
- redis导库
- android学习-----Fragment
- 9.13~9.30刷题(shui)题解
- SAX操作XML
- mac下tomcat的安装与配置
- axis webservice
- 由appcampat 的思考
- 实验一 认识DOS
- 每天代码五十行,今天第二天.
- MySQL 可以用localhost 连接,但不能用IP连接的问题
- test8.16
- tomcat 配置总结
- server.xml catalina.sh
- SDUT 1208 C语言实验——温度转换
- 【bzoj2243】 [SDOI2011]染色
- scheme的应用序
- c++中静态成员变量不能够用输入流输入问题
- 802.11 管理机制
- Java学习日记-4 StringBuffer类和数组
- Java应用服务器WildFly 推荐