QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#667334#9484. Colored Complete GraphwallcrackWA 0ms3596kbC++20960b2024-10-22 22:15:272024-10-22 22:15:35

Judging History

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

  • [2024-10-22 22:15:35]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3596kb
  • [2024-10-22 22:15:27]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
int query(int u,int v)
{
	cout<<"? "<<u<<" "<<v<<endl<<endl;
	char res;
	cin>>res;
	return res=='R';
}
void answer(vector<pair<int,int>> &edge)
{
	cout<<"!"<<endl;
	for(auto [u,v]:edge)
		cout<<u<<" "<<v<<endl;
}
int main()
{
	int n;
	cin>>n;
	vector<pair<int,int>> blueEdge,redEdge;
	vector<int>bluePoint,redPoint;
	for(int i=2;i<=n;i++)
	{
		int res=query(1,i);
		if(res)
		{
			redEdge.push_back(make_pair(1,i));
			redPoint.push_back(i);
		}
		else 
		{
			blueEdge.push_back(make_pair(1,i));
			bluePoint.push_back(i);
		}
	}
	for(int i=0,j=0;i<redPoint.size() and j<bluePoint.size();)
	{
		int u=redPoint[i],v=bluePoint[j];
		int res=query(u,v);
		if(res)
		{
			redEdge.push_back(make_pair(u,v));
			j++;
		}
		else 
		{
			blueEdge.push_back(make_pair(u,v));
			i++;
		}
	}
	if(blueEdge.size()>=n-1)answer(blueEdge);
	else answer(redEdge);
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
B

output:

? 1 2

? 1 3


result:

wrong answer invalid question