CF1214C

题意:

给你一个括号序列,问你时候能仅移动相邻的两个元素,使括号序列合法。

解法:

可以先考虑普通括号序列怎么做

这道题只交换相邻的两个元素,所以如果中间左括号和右括号的差值大于2时,括号就不合法。

CODE:

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define LL long long
  4. #define N 200010
  5. char s[N];
  6. int n,l,r,cnt;
  7. int main() {
  8. scanf("%d",&n);
  9. for (int i = 0 ; i < n ; i++) {
  10. cin>>s;
  11. if(s[i] == '(') l++;
  12. else r++;
  13. }
  14. for(int i = 0 ; i < n ; i++) {
  15. if(s[i] == '(') cnt++;
  16. else cnt--;
  17. if(cnt < -1) {
  18. puts("No");
  19. // system("pause");
  20. return 0;
  21. }
  22. }
  23. if(l != r) puts("No");
  24. else puts("Yes");
  25. //system("pause");
  26. return 0;
  27. }

CF1214C的更多相关文章

随机推荐

  1. 日志(log4j2)

    日志测试java代码如下: package com.learn.test; import org.apache.logging.log4j.LogManager; import org.apache. ...

  2. ppt调整三级标题的位置

    ---恢复内容开始--- 标题格式:一级标题   中文数字加.例如 一. 二级标题  中文数字加:   例如二: 三级标题  小写数字加.  例如3. 使用方法: 打开PPT  按alt+f11,打开 ...

  3. Java数据结构总述

    array list map set 链表..array 和list类似,增删慢,读取快,list长度可变,array长度固定, 链表增删快的list set 是一个没有重复数据的集合 map 是一个 ...

  4. 3、java基础:抽象类与接口的区别

    抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样 ...

  5. Linux环境下Redis安装和常见问题的解决

    Redis是一款非常非常非常好用的缓存数据库,在保存需要定期更新的Token值,或者在保证高并发安全可靠性的场景下,基本上说是必用了. 安装过好多次Redis了,也用过阿里云Redis数据库,但是每次 ...

  6. 4.Java集合-ArrayList实现原理及源码分析

    一.ArrayList概述: ArrayList 是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存 ArrayList不是线程安全的,只能用在单线程的情况 ...

  7. m3u8系列(一)练手spider

    本次目标 http://www.qiqi.la/vod-detail-id-46194.html 目的,down魔道祖师,实现 前期分析文件得到以下粗略步骤 1 进入二级页面,找到 <ifram ...

  8. Django:总结setting中的配置

    一.Django setting配置说明 二.setting配置一览 一.Django setting配置说明 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包 ...

  9. Go语言中的defer

    可以用作一些资源的释放. 1.在一个函数内的defer执行顺序是先写的后执行,后写的先执行(遵循栈结构) func DeferTest1(){ defer fmt.Println("我是 d ...

  10. JVM内存空间划分与作用详解

    在之前已经对Java的字节码进行了非常详细而又系统的学习了,接下来开启jvm内存相关的新篇章,在一个新知识开头之前肯定得理论化的对其进行一个整体的介绍,所以摒弃浮躁,先来看看相关的理论,主要是看一下J ...