G - Green-Red Tree Gym - 102190G

题目链接: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;
}

 

转载于:https://www.cnblogs.com/cherish-lin/p/10801897.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值