QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#724615 | #9570. Binary Tree | 552Hz | WA | 1ms | 3692kb | C++23 | 2.6kb | 2024-11-08 14:05:37 | 2024-11-08 14:05:38 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
void solve(){
int n;
cin>>n;
for(int i = 1;i<=n;i++)
{
int a,b;
cin>>a>>b;
}
for(int i = 1;i<=30;i++){
cout<<"? 1 2"<<endl;
int g;
cin>>g;
}
cout<<"! "<<1<<endl;
// int n;
// cin>>n;
// vector<int>e[n+1];
// for(int i =1;i<=n;i++)
// {
// int a,b;
// cin>>a>>b;
// if(a != 0)
// {
// e[i].push_back(a);
// e[a].push_back(i);
// }
// if(b != 0)
// {
// e[i].push_back(b);
// e[b].push_back(i);
// }
// }
// auto ask = [&](int u,int v)
// {
// cout<<"? "<<u<<" "<<v<<endl;
// int res;
// cin>>res;
// return res;
// };
// auto output = [&](int ans)
// {
// cout<<"! "<<ans<<endl;
// };
// vector<int>sz(n+1,1),del(n+1);
// int pos = 0,cur = 0;
// function<void(int,int)>dfs = [&](int u,int fa)
// {
// int res = 0;
// for(auto v:e[u])
// {
// if(v == fa || del[v])
// continue;
// dfs(v,u);
// sz[u] += sz[v];
// res = max(res,sz[v]);
// }
// res = max(res,cur - sz[u]);
// if(res <= cur / 2)
// pos = u;
// };
// function<void(int,int)>det = [&](int u,int fa)
// {
// del[u] = 1;
// for(auto v:e[u])
// {
// if(v == fa || del[v])
// continue;
// det(v,u);
// }
// };
// for(int query_times = -1;(1 << query_times) <= n;query_times ++)
// {
// cur = count(del.begin()+1,del.end(),0);
// dfs(find(del.begin()+1,del.end(),0) - del.begin(),0);
// vector<int>son;
// for(auto v:e[pos])
// {
// if(!del[v])
// son.push_back(v);
// }
// if(son.size() == 3)
// {
// int op = ask(son[0],son[1]);
// if(op == 0)
// {
// det(son[1],pos);
// det(son[2],pos);
// del[pos] = 1;
// }
// if(op == 1)
// {
// det(son[0],pos);
// det(son[1],pos);
// }
// if(op == 2)
// {
// det(son[0],pos);
// det(son[2],pos);
// del[pos] = 1;
// }
// }
// if(son.size() == 2)
// {
// int op = ask(son[0],son[1]);
// del[pos] = 1;
// if(op == 0)
// det(son[1],pos);
// if(op == 2)
// det(son[0],pos);
// if(op == 1)
// return void(output(pos));
// }
// if(son.size() == 1)
// {
// int op = ask(son[0],pos);
// if(op == 0)
// return void(output(son[0]));
// if(op == 2)
// return void(output(pos));
// }
// if(son.empty())
// return void(output(pos));
// }
// output(1);
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
while(t--){
solve();
}
}
詳細信息
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 3692kb
input:
2 5 0 0 1 5 2 4 0 0 0 0 2 2
output:
? 1 2 ? 1 2 ? 1 2
result:
wrong answer Too many queries (test case 1)