class Solution {
public:
void solve(string s,vector<string>&ans,unordered_map<string,bool>&mp,int removals)
{
if(mp[s])
return;
mp[s]=true;
if(removals==0)
{
//checking for valid answer
int removals_needed=find_removals(s);
if(removals_needed==0)
ans.push_back(s);
return;
}
for(int i=0;i<s.length();++i)
{
string leftpart=s.substr(0,i);
string rightpart=s.substr(i+1);
string join=leftpart+rightpart;
solve(join,ans,mp,removals-1);
}
return;
}
int find_removals(string s)
{
stack<char> st;
for(int i=0;i<s.length();++i)
{
if(s[i]=='(')
st.push(s[i]);
else if(s[i]==')')
{
if(st.size()!=0 && st.top()=='(')
st.pop();
else
st.push(')');
}
}
return st.size();
}
vector<string> removeInvalidParentheses(string s) {
unordered_map<string,bool> mp;
int min_removals=find_removals(s);
vector<string> ans;
solve(s,ans,mp,min_removals);
return ans;
}
};
Y2xhc3MgU29sdXRpb24gewpwdWJsaWM6CiAgICAKICAgIHZvaWQgc29sdmUoc3RyaW5nIHMsdmVjdG9yPHN0cmluZz4mYW5zLHVub3JkZXJlZF9tYXA8c3RyaW5nLGJvb2w+Jm1wLGludCByZW1vdmFscykKICAgIHsKICAgICAgICAKICAgICAgICBpZihtcFtzXSkKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIAogICAgICAgIG1wW3NdPXRydWU7CiAgICAgICAgCiAgICAgICAgaWYocmVtb3ZhbHM9PTApCiAgICAgICAgewogICAgICAgICAgICAvL2NoZWNraW5nIGZvciB2YWxpZCBhbnN3ZXIKICAgICAgICAgICAgIGludCByZW1vdmFsc19uZWVkZWQ9ZmluZF9yZW1vdmFscyhzKTsKICAgICAgICAgICAgIGlmKHJlbW92YWxzX25lZWRlZD09MCkKICAgICAgICAgICAgICAgICBhbnMucHVzaF9iYWNrKHMpOwogICAgICAgICAgICAKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBmb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7KytpKQogICAgICAgIHsKICAgICAgICAgICAgc3RyaW5nIGxlZnRwYXJ0PXMuc3Vic3RyKDAsaSk7CiAgICAgICAgICAgIHN0cmluZyByaWdodHBhcnQ9cy5zdWJzdHIoaSsxKTsKICAgICAgICAgICAgc3RyaW5nIGpvaW49bGVmdHBhcnQrcmlnaHRwYXJ0OwogICAgICAgICAgICBzb2x2ZShqb2luLGFucyxtcCxyZW1vdmFscy0xKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcmV0dXJuOwogICAgICAgIAogICAgfQogICAgCiAgICBpbnQgZmluZF9yZW1vdmFscyhzdHJpbmcgcykKICAgIHsKICAgICAgICBzdGFjazxjaGFyPiBzdDsKICAgICAgICBmb3IoaW50IGk9MDtpPHMubGVuZ3RoKCk7KytpKQogICAgICAgIHsKICAgICAgICAgICAgaWYoc1tpXT09JygnKQogICAgICAgICAgICAgICAgc3QucHVzaChzW2ldKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGVsc2UgaWYoc1tpXT09JyknKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihzdC5zaXplKCkhPTAgJiYgc3QudG9wKCk9PScoJykKICAgICAgICAgICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHN0LnB1c2goJyknKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICByZXR1cm4gc3Quc2l6ZSgpOwogICAgfQogICAgCiAgICB2ZWN0b3I8c3RyaW5nPiByZW1vdmVJbnZhbGlkUGFyZW50aGVzZXMoc3RyaW5nIHMpIHsKICAgICAgICAKICAgICAgICB1bm9yZGVyZWRfbWFwPHN0cmluZyxib29sPiBtcDsKICAgICAgICBpbnQgbWluX3JlbW92YWxzPWZpbmRfcmVtb3ZhbHMocyk7CiAgICAgICAgdmVjdG9yPHN0cmluZz4gYW5zOwogICAgICAgIHNvbHZlKHMsYW5zLG1wLG1pbl9yZW1vdmFscyk7CiAgICAgICAgcmV0dXJuIGFuczsKICAgIH0KfTs=
Main.java:2: error: illegal start of type
public:
^
Main.java:4: error: <identifier> expected
void solve(string s,vector<string>&ans,unordered_map<string,bool>&mp,int removals)
^
Main.java:4: error: illegal start of type
void solve(string s,vector<string>&ans,unordered_map<string,bool>&mp,int removals)
^
Main.java:4: error: <identifier> expected
void solve(string s,vector<string>&ans,unordered_map<string,bool>&mp,int removals)
^
Main.java:4: error: <identifier> expected
void solve(string s,vector<string>&ans,unordered_map<string,bool>&mp,int removals)
^
Main.java:4: error: ';' expected
void solve(string s,vector<string>&ans,unordered_map<string,bool>&mp,int removals)
^
6 errors