#include <bits/stdc++.h>
using namespace std;
#define int long long
#define OYY 10000000005
#define mod 1000000007
char dizi[100005];
vector <int> q;
int sor(int x,int y){
cout<<"? "<<x<<" "<<y<<" ";
cout<<'\n';
int m;cin>>m;
cout<<'\n';
return m;
}
int32_t main(){
int n,k;cin>>n>>k;
dizi[1]='(';
q.push_back(1);
for(int i=2;i<=n;i++){
if(q.size() && sor(q.back(),i)){
dizi[i]=')';
q.pop_back();
}
else{
dizi[i]='(';
q.push_back(i);
}
}
/*for(int i=0;i<q.size();i++)cout<<q[i]<<" ";
cout<<endl;*/
int gec=q.size()/2;
//int gec=n/2;
//cout<<"ft"<<gec<<endl;
for(int i=0;i<=gec-1;i++){
dizi[q[i]]=')';
}
cout<<"! ";
for(int i=1;i<=n;i++)cout<<dizi[i]<<" ";
cout<<'\n';
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Answer length should be 2, but it is 1 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Answer length should be 2, but it is 1 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Answer length should be 4, but it is 1 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
208 KB |
Answer length should be 4, but it is 1 |
2 |
Halted |
0 ms |
0 KB |
- |