# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
129221 | thanos | parentrises (BOI18_parentrises) | C++14 | 316 ms | 13416 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<iostream>
#include<string>
#include<stack>
using namespace std;
string s;
int c[1000005];
bool v[1000005],vv[1000005];
int main(){
int P;
cin>>P;
if(P==2){
cout<<0<<endl;
return 0;
}
int T;
cin>>T;
for(int k=0; k<T; k++){
bool f=true;
stack<int> myst;
cin>>s;
for(int i=0; i<s.length(); i++){
if(s[i]=='('){
myst.push(i);
}
else{
if(!myst.empty()){
myst.pop();
}
else{
v[i]=vv[i]=true;
}
}
}
while(!myst.empty()){
v[myst.top()]=vv[myst.top()]=true;
myst.pop();
}
stack<int> tl,tr;
for(int i=0; i<s.length(); i++){
bool g=true;
if(vv[i]){
if(s[i]==')'){
g=false;
if(!tl.empty()){
v[tl.top()]=true;
c[tl.top()]=1;
c[i]=2;
g=true;
tl.pop();
}
}
}
else if(s[i]==')'){
tl.push(i);
}
if(!g){
cout<<"impossible"<<endl;
f=false;;
break;
}
if(vv[s.length()-i-1]){
if(s[s.length()-i-1]=='('){
g=false;
if(!tr.empty()){
v[tr.top()]=true;
c[tr.top()]=1;
c[s.length()-i-1]=2;
g=true;
tr.pop();
}
}
}
else if(s[s.length()-i-1]=='('){
tr.push(s.length()-i-1);
}
if(!g){
cout<<"impossible"<<endl;
f=false;
break;
}
}
if(f){
for(int i=0; i<s.length(); i++){
if(c[i]==0){
cout<<"G";
}
else if(c[i]==1){
cout<<"B";
}
else{
cout<<"R";
}
}
cout<<endl;
}
int l=s.length();
s.clear();
for(int i=0; i<=l; i++){
c[i]=0;
vv[i]=v[i]=false;
}
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |