题目链接:http://codeforces.com/gym/102190/attachments
题解:我们先将前5个点分别涂上红色或者绿色,使得这两棵树在5个点中都是连通,并不存在自环。那么从第6个点开始:分别找一个固定的点与该点连边即可。
自己看别人做的方法,才自己做出来的,也是思考了一下,下面来张自己手动模拟的图,自己模拟一遍就会了呀
#include<bits/stdc++.h>
using namespace std;
int print(int a,int b,int c,int d)
{
cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
//fflush(stdout);
int x;
cin>>x;
return x;
}
void Init()
{
int k1=print(1,3,1,4);
int k2=print(3,2,3,5);
if(k1==k2){
int k3=print(2,4,2,5);
if(k3==k1)
print(5,1,5,4);
else
print(4,5,4,3);
}
else{
int k3=print(2,5,4,5);
if(k3==k1)
print(4,3,4,2);
else
print(4,2,1,2);
}
}
int main()
{
int t;
cin>>t;
while(t--){
int n;
cin>>n;
Init();
for(int i=6;i<=n;i++)
print(1,i,2,i);
}
return 0;
}