CF1167D Bicolored RBS【题解】贪心

CF1167D Bicolored RBS

短码贪心


题目链接(洛谷)
贪心题。
遇见左括号分入深度浅的颜色
遇见右括号分入深度深的颜色
代码真的短


代码如下:

#include<bits/stdc++.h>
using namespace std;
const int maxn=2*1e5+10;
int n,rs=0,bs=0;char a[maxn];
int main(){
    scanf("%d%s",&n,a);
    for(int i=0;i<n;i++){
        if(a[i]==')') (rs>bs) ? (--rs,printf("0")) : (--bs,printf("1"));
        else if(a[i]=='(') (rs<bs) ? (++rs,printf("0")) : (++bs,printf("1"));
    }
    return 0;
}
posted @ 2019-09-27 19:39  ChrisKKK  阅读(244)  评论(0编辑  收藏  举报