CF1503 A. Balance the Bits 暴力贪心

CF1503 A. Balance the Bits 暴力贪心,第1张

CF1503 A. Balance the Bits 暴力贪心

题解:符合要求的01串需满足首尾为1且0,1的个数都为偶数括号序列的构造:前k/2个1为左括号,后k/2个1为右括号,0位置上左右括号轮换。

#include 
using namespace std;
typedef long long ll;
char a[200005],b[200005];
bool check(char *c)
{
    stack s;
    int i=0;
    while(c[i])
    {
        if(c[i]=='(')s.push(1);
        else
        {
            if(s.empty())return 0;
            s.pop();
        }
        i++;
    }
    if(s.size())return 0;
    return 1;
}
void solve(){
    int n;
    cin>>n;
    fill(a,a+n+1,0);
    fill(b,b+n+1,0);
    string t;
    cin>>t;
    int cnt=0;
    for(int i=0;ij)break;
        a[i]=b[i]='(';
        b[j]=a[j]=')';
        i++;
        j--;
    }
    int op=0;
    for(int k=0;kT;
    while(T--)solve();
    return 0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5692085.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存