#include<bits/stdc++.h>
#include"library.h"
#ifdef EVAL
#else
#include"grader.cpp"
#endif
using namespace std;
vector<int>g[205],ans;
void dfs(int v,int p){
ans.push_back(v+1);
for(int to:g[v])if(to!=p)dfs(to,v);
}
void Solve(int n){
vector<int>m(n,0);
for(int i=0;i+1<n;i++){
for(int j=i+1;j<n;j++){
m[i]=m[j]=1;
if(Query(m)==1){
g[i].push_back(j);
g[j].push_back(i);
}
m[i]=m[j]=0;
}
}
int root;
if(n==1)root=0;
else{
int l=0,r=n-1;
while(l<r){
cout<<l<<" "<<r<<endl;
int mid=(l+r)>>1;
vector<int>tmp=m;
fill(tmp.begin()+l,tmp.begin()+mid+1,1);
int x=Query(tmp);
for(auto &to:tmp)to^=1;
int y=Query(tmp);
if(x>=y)r=mid;
else l=mid+1;
}
root=l;
}
dfs(root,root);
Answer(ans);
}
/*
9
7 2 1 6 4 8 3 9 5
*/
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
255 ms |
508 KB |
Execution killed with signal 13 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
255 ms |
508 KB |
Execution killed with signal 13 (could be triggered by violating memory limits) |
2 |
Halted |
0 ms |
0 KB |
- |