Codeforces 1305 B. Kuroni and Simple Strings

在这里插入图片描述
在这里插入图片描述

题意:

给出一个只有 ( ) () 的字符串,删除几组子简单序列使得剩下的字符串也变成简单序列。简单序列的定义是类似 ( ( . . . ) ) ((...)) 这种形式的。
我们很显然可以看出答案无非 0 0 或者 1 1 ,我们就每次遇到一个 ( ( 就倒着遍历找到第一个 ) ) 一起删除就行。

AC代码:

char a[1001];
int n, m;

int main()
{

    ss(a + 1);
    int ans = 0;
    int len = strlen(a + 1);
    rep(i, 1, len)
    {
        if (a[i] == '(')
        {
            per(j, len, i + 1)
            {
                if (a[j] == ')')
                {
                    a[j] = '0';
                    a[i] = '0';
                    ans += 2;
                    break;
                }
            }
        }
    }
    if (ans != 0)
    {
        printf("1\n%d\n", ans);
        rep(i, 1, len)
        {
            if (a[i] == '0')
                printf("%d ", i);
        }
    }
    else
        printf("0");
    return 0;
}
发布了704 篇原创文章 · 获赞 420 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_43627087/article/details/104648589