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;
}