码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Forethought Future Cup Elimination Round 选做

时间:2019-04-22 21:06:59      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:eth   分组   iam   \n   code   mina   fflush   cpp   基本   

施工中。。。

1146C Tree Diameter

题意

交互题。有一棵 \(n(n\le 100)\) 个点的树,你可以进行不超过 \(9\) 次询问,每次询问两个点集中两个不在同一点集的点的最大距离。求树的直径。

题解

和 GXOI2019旅行者基本类似,二进制分组,对于每一位,编号当前位为 \(0\) 的分到一组,当前位为 \(1\) 的分到另一组。最大询问次数为 \(\log 100 = 7\)

#include<cstdio>
int v1[105],v2[105];
int main()
{
    int T; scanf("%d",&T);
    while(T--)
    {
        int n,ans=0; scanf("%d",&n);
        for(int i=0;i<=6;++i)
        {
            int id1=0,id2=0;
            for(int j=1;j<=n;++j) (j&(1<<i))?v1[++id1]=j:v2[++id2]=j;
            if(id1&&id2)
            {
                printf("%d %d ",id1,id2);
                for(int i=1;i<=id1;++i) printf("%d ",v1[i]);
                for(int i=1;i<=id2;++i) printf("%d ",v2[i]);
                puts(""); fflush(stdout);
                int x; scanf("%d",&x);
                if(x>ans) ans=x;
            }
        }
        printf("-1 %d\n",ans);
        fflush(stdout);
    }
}

Codeforces Forethought Future Cup Elimination Round 选做

标签:eth   分组   iam   \n   code   mina   fflush   cpp   基本   

原文地址:https://www.cnblogs.com/farway17/p/10752671.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!