一道简单的数据结构题

发布时间: 2017年6月3日 18:46   最后更新: 2017年6月3日 18:51   时间限制: 1000ms   内存限制: 128M

描述

如果插入“+”和“1”到一个括号序列,我们能得到一个正确的数学表达式,我们就认为这个括号序列是合法的。例如,序列"(())()", "()"和"(()(()))"是合法的,但是")(", "(()"和"(()))("是不合法的。我们这有一种仅由“(”和“)”组成的括号序列,你必须改变一些括号,从而得到一个合法的括号序列,求最少改变多少个括号。

输入

一个只包含"("和")"的字符串,字符串的长度n小于1000000

输出

被改变的括号个数m

样例输入1 复制

()))()((()
样例输出1

2

#include <stdio.h>
#include <stack>
using namespace std;
int main()
{
stack<int> s;
char c[];
int num=;
scanf("%s",c);
int i=;
while(c[i]!='\0'){ //注意,这里的while比while((n=getchar())!='\n')及for(i=0;i<strlen(c);i++)效率要高,否则TLE
if(c[i]==')'){
if(s.size()) s.pop();
else{
num++;
s.push();
}
}
else s.push();
i++;
}
num+=s.size()/;
printf("%d",num);
return ;
}

最新文章

  1. unix-ln 命令
  2. Revit二次开发示例:ErrorHandling
  3. (转)Eclipse平台技术概述
  4. ARM CPU与Intel x86 CPU性能比较
  5. yui--datatable 行添加格式
  6. Java中的Clone机制(浅层复制)
  7. java面试题(一)
  8. JavaSE教程-03深入探究原码,反码,补码-扩展
  9. 201521123121 《Java程序设计》第11周学习总结
  10. Which is Better: Forms Servlet or Socket Mode?
  11. github代码搜索技巧
  12. 使用java语言,将字符串中连续重复出现的字母变成“出现次数“+字母的格式
  13. js开发环境配置
  14. vue组件监听不生效,比深度监听还管用哦
  15. odoo:开源 ERP/CRM 入门与实践 -- 上海嘉冰信息技术公司提供咨询服务
  16. wince sqlite c#
  17. python 模块和包
  18. SQL记录-小表join大表查询例子
  19. CCPC-Wannafly Winter Camp Day1 Div1 - 夺宝奇兵 - [贪心+线段树]
  20. 【巷子】---vue基于mint-ui三级联动---【vue】

热门文章

  1. python--内置函数补充
  2. 阿里云 访问控制RAM
  3. UniversalImageLoader 学习
  4. codeforces Looksery Cup 2015 H Degenerate Matrix
  5. C#基础系列:反射笔记
  6. Xcode 6 IDE
  7. xlua学习过程遇到的问题,以后通了之后可能就不是问题了。但是还是有记录的必要。
  8. Apache JServ Protocol
  9. mybatis入门(五)
  10. TWinControl、TCustomControl和TGraphicControl对WM_PAINT消息的三种不同处理(虚函数的特点就是升升降降)