用一个temp变量,每次出现左括号,+1,右括号,-1;用ans来记录出现的最小的值,很显然最终temp不等于0或者ans比-2小都是不可以的。-2是可以的,因为:“))((”可以把最左边的和最右边的交换即可,其他-2的情形同理。另外要注意的坑点是Hint里面所说的:“But do nothing is not allowed.”。因此,“()”是不可以的,这个要特判。

  代码如下:

 #include <stdio.h>
#include <algorithm>
#include <string.h>
#include <math.h>
using namespace std;
const int N = + ; char s[N]; int main()
{
int T;scanf("%d",&T);
while(T--)
{
int n;scanf("%d",&n);
scanf("%s",s+);
if(strlen(s+)== && s[]=='(' && s[]==')')
{
puts("No");
continue;
}
int temp = ;
int ans = ;
for(int i=;i<=n;i++)
{
if(s[i] == ')') temp --;
else temp ++;
ans = min(ans,temp);
}
if(ans<- || temp!=) puts("No");
else puts("Yes");
}
}

最新文章

  1. 关于java的格式输出控制
  2. 【POJ3254】Corn Fields 状压DP第一次
  3. github上写blog
  4. logback.xml日志配置
  5. ICMP-type对应表
  6. 嵌入式Linux的FTP服务端软件(stupid-ftpd)
  7. ligerUI_入门_001_设置文本能否被编辑、事件
  8. ipseccmd命令解析
  9. Unity小厨房之-----背后视角摄像机
  10. &lt;audio&gt;使用2
  11. Driver 初始化顺序
  12. 使用ReSharper打造团队代码
  13. 在mac安装numpy matplotlib scipy
  14. apollo1.7.1初探(二)使用apollo订阅主题,发布主题消息
  15. Python的lambda
  16. FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系
  17. &quot;她等待刀尖已经太久&quot;--茨维塔耶娃诗抄
  18. R语言函数总结(转)
  19. ELK系列一:ELK的安装
  20. 如何将javascript对象转换成字符串

热门文章

  1. 《深入实践C++模板编程》之二——模板类
  2. 《深入实践C++模板编程》之一——Hello模板
  3. ubuntu14.04 x86编译upx 3.92 及so加固
  4. svn安装方法
  5. nested exception is org.apache.ibatis.binding.BindingException
  6. element-ui 中 el-table 根据scope.row行数据变化动态显示行内控件
  7. 转载Linux常用命令
  8. SpringBoot static修饰的字段/方法如何获取application.yml配置
  9. OPNsense防火墙搭建实验环境,MSF与SSH进行流量转发
  10. springboot集成redis使用redis作为session报错ClassNotFoundException类RememberMeServices