Submission #847148

#TimeUsernameProblemLanguageResultExecution timeMemory
847148PacybwoahSuperpozicija (COCI22_superpozicija)C++17
0 / 110
338 ms540 KiB
#include<iostream> #include<vector> #include<string> #include<utility> #include<algorithm> using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(0); int t; cin>>t; while(t--){ int n; cin>>n; string s; cin>>s; vector<pair<int,int> > vec(n); for(int i=0;i<n;i++) cin>>vec[i].first>>vec[i].second; if(n&1){ cout<<"-1\n"; continue; } if(n<=10){ bool ff=0; for(int i=0;i<(1<<n);i++){ string tmp; vector<int> tmpp; for(int j=0;j<n;j++){ if(i&(1<<j)) tmpp.push_back(vec[j].second); else tmpp.push_back(vec[j].first); } sort(tmpp.begin(),tmpp.end()); for(auto x:tmpp) tmp+=s[x-1]; int now=0; bool flag=1; for(int j=0;j<n;j++){ if(tmp[j]=='(') now++; else now--; if(now<0){ flag=0; break; } } if(flag&&now==0){ for(int j=0;j<n;j++){ cout<<(i&1)<<" "; i>>=1; } ff=1; cout<<"\n"; break; } } if(!ff) cout<<-1<<"\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...