제출 #1149193

#제출 시각아이디문제언어결과실행 시간메모리
1149193LCJLYZagrade (COI20_zagrade)C++20
71 / 100
234 ms948 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define ld long double #define show(x,y) cout << y << " " << #x << endl; #define show2(x,y,i,j) cout << y << " " << #x << " " << j << " " << #i << endl; #define show3(x,y,i,j,p,q) cout << y << " " << #x << " " << j << " " << #i << " " << q << " " << #p << endl; #define show4(x,y) for(auto it:y) cout << it << " "; cout << #x << endl; typedef pair<int,int>pii; typedef pair<pii,int>pi2; mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count()); int f(int a, int b){ cout << "? " << a+1 << " " << b+1 << endl; int hold; cin >> hold; return hold; } void solve(){ int n,q; cin >> n >> q; stack<int>stk; char ans[n]; for(int x=0;x<n;x++){ if(stk.empty()){ int hold=f(x,x+1); if(!hold){ stk.push(x); stk.push(x+1); ans[x]='('; ans[x+1]='('; } else{ ans[x]='('; ans[x+1]=')'; } x++; } else{ int hold=f(stk.top(),x); if(!hold){ stk.push(x); ans[x]='('; } else{ stk.pop(); ans[x]=')'; } } } cout << "! "; for(int x=0;x<n;x++) cout << ans[x]; cout << endl; } int32_t main(){ ios::sync_with_stdio(0); cin.tie(0); //freopen("in.txt","r",stdin); //freopen("in.txt","w",stdout); int t=1; //cin >> t; while(t--){ solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...