CF 1860 A

发布时间 2023-09-07 18:37:12作者: 铜锣骚

A. Not a Substring

这道题为简单构造题

只需要考虑给出的字符串s是否为“()”的必要组成成分

  • 若是则无法生成,输出NO。

  • 不然就判断给出的字符串s是否是ch的一部分

    • 若是就输出类似“((((……))))”的括号序列
    • 若不是,就输出类似"()()……()"的括号序列

代码

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
typedef long long ll;
typedef pair<int, int> PII;

string s, ch = "(((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))";
int t;

int main()
{
    std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> t;
    while (t--)
    {
        cin >> s;
        if (s == "(" || s == ")" || s == "()")
        {
            cout << "NO" << endl;
        }
        else
        {
            cout << "YES" << endl;
            int si = s.size();
            if (ch.find(s) != ch.npos)
            {
                
                for(int i = 0;i < si;i++)
                {
                    cout << "()";
                }
            }
            else
            {
                for(int i = 0;i < si;i++)
                {
                    cout << "(";
                }
                for(int i = 0;i < si;i++)
                {
                    cout << ")";
                }
            }
            cout << endl;
        }
    }
    return 0;
}