QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#724695#9570. Binary Tree552HzWA 0ms3612kbC++202.6kb2024-11-08 14:31:472024-11-08 14:31:48

Judging History

你现在查看的是最新测评结果

  • [2024-11-08 14:31:48]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3612kb
  • [2024-11-08 14:31:47]
  • 提交

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<=1;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();
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3612kb

input:

2
5
0 0
1 5
2 4
0 0
0 0
2

output:

? 1 2
! -1

result:

wrong answer There are 4 candidates. (test case 1)