Submission #129197

#TimeUsernameProblemLanguageResultExecution timeMemory
129197thanosparentrises (BOI18_parentrises)C++14
22 / 100
93 ms1272 KiB
#include<iostream> #include<string> #include<stack> using namespace std; 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; string s; int c[10005]={0}; stack<int> myst; bool v[10005]={false},vv[100005]={false}; 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(); } for(int i=0; i<s.length(); i++){ if(vv[i]){ bool g=false; if(s[i]==')'){ int h=i-1; while(h>=0){ if(s[h]==')' && !v[h]){ v[h]=true; c[h]=1; c[i]=2; g=true; break; } h--; } } if(s[i]=='('){ int h=i+1; while(h<s.length()){ if(s[h]=='(' && !v[h]){ v[h]=true; c[h]=1; c[i]=2; g=true; break; } h++; } } if(!g){ cout<<"impossible"<<endl; f=false; break; } } } if(!f){ continue; } 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; } return 0; }

Compilation message (stderr)

parentrises.cpp: In function 'int main()':
parentrises.cpp:21:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<s.length(); i++){
                  ~^~~~~~~~~~~
parentrises.cpp:38:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<s.length(); i++){
                  ~^~~~~~~~~~~
parentrises.cpp:56:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
           while(h<s.length()){
                 ~^~~~~~~~~~~
parentrises.cpp:77:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0; i<s.length(); i++){
                  ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...