zoukankan      html  css  js  c++  java
  • CF1214C

    CF1214C

    题意:

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

    解法:

    可以先考虑普通括号序列怎么做
    这道题只交换相邻的两个元素,所以如果中间左括号和右括号的差值大于2时,括号就不合法。

    CODE:

    #include<bits/stdc++.h>
     
    using namespace std; 
     
    #define LL long long
    #define N 200010
     
    char s[N]; 
    int n,l,r,cnt; 
     
    int main() {
    	scanf("%d",&n);
    	for (int i = 0 ; i < n ; i++) {
    		cin>>s; 
    		if(s[i] == '(') l++; 
    		else r++; 
    	}
    	for(int i = 0 ; i < n ; i++) {
    		if(s[i] == '(') cnt++; 
    		else cnt--; 
    		if(cnt < -1) {
    			puts("No");
               // system("pause"); 
    			return 0; 
    		}
    	}
    	if(l != r) puts("No"); 
    	else puts("Yes");
        //system("pause"); 
    	return 0; 
    }
    
  • 相关阅读:
    扫描线 leetcode 759
    创建tensor的方法
    vector
    scatter_
    size、shape
    复杂问题
    random.normal
    set
    将可迭代对象中的元素通过字典映射成数字
    zipfile.ZipFile
  • 原文地址:https://www.cnblogs.com/Repulser/p/11469934.html
Copyright © 2011-2022 走看看