[Codeforces1137D]Cooperative Game

Tags:题解


题意

这是一道交互题。

给你一张下面这样的地图,由一条长为\(t\)的有向链和一个长为\(c\)的环构成。



现在你有\(10\)颗棋子,编号\(0\)到\(9\),你不知道\(t\)和\(c\)的值,你每次可以移动若干颗棋子。

请你输出方案,使得所有棋子走到环和链的交点处,并在走到时输出done

你每次可以输出next a b c ...,交互库将返回k a1 a2 ... ak表示当前有\(k\)个位置有棋子,\(ai\)表示一个字符串,表示第\(i\)个位置的棋子编号是什么。

你的移动次数不能超过\(3(t+c)\),\(t+c\le 1000\)。

题解

神仙题,一直在想\(10\)颗棋子的二进制意义,然而\(t\)和\(c\)再大也没有关系。

步骤:

选定两颗棋子\(0\),\(1\),\(0\)每次都移动,\(1\)每两次移动一次。

走了\(2t\)步之后\(1\)刚好到达交点\(T\),把环按照以\(T\)为\(1\)按边的方向依次编号,则此时\(0\)在环上的\(t\)位置。

这时\(0\)还需要\(c-t\)步追上(到) \(1\),追上的位置是\(c-t\)。

然后惊奇地发现:把所有点同时走\(t\)步就可以让所有点都在\(T\)上了!

服了服了。这场掉分掉得爽啊(第一次掉分)

代码

#include<iostream>
using namespace std;
char s[100];
int In() {int x,p;scanf("%d",&x);for(p=x;p;p--) scanf("%s",s);return x;}
int main()
{
while(1)
{
puts("next 0");fflush(stdout);In();
puts("next 0 1");fflush(stdout);
if(In()==2) break;
}
while(1)
{
puts("next 0 1 2 3 4 5 6 7 8 9");
fflush(stdout);if(In()==1) break;
}
puts("done");fflush(stdout);
}

[Codeforces1137D]Cooperative Game的更多相关文章

  1. codeforces选做

    收录了最近本人完成的一部分codeforces习题,不定期更新 codeforces 1132E Knapsack 注意到如果只使用某一种物品,那么这八种物品可以达到的最小相同重量为\(840\) 故 ...

  2. [转载]协程-cooperative multitasking

    [转载]协程三讲 http://ravenw.com/blog/2011/08/24/coroutine-part-1-defination-and-classification-of-corouti ...

  3. 泡泡一分钟:Cooperative Object Transportation by Multiple Ground and Aerial Vehicles: Modeling and Planning

    张宁 Cooperative Object Transportation by Multiple Ground and Aerial Vehicles: Modeling and Planning 多 ...

  4. Codeforces 1137D Cooperative Game (看题解)

    Cooperative Game 智商题, 感觉不太能推出来, 虽然看看证明过程是对的. #include<bits/stdc++.h> #define LL long long #def ...

  5. CF 1138 F. Cooperative Game

    F. Cooperative Game 链接 题意: 有10个玩家,开始所有玩家在home处,每次可以让一些玩家沿着边前进一步,要求在3(t+c)步以内,到达终点. 分析: 很有意思的一道题.我们构造 ...

  6. Cooperative Groups

    Cooperative Groups 目录 Cooperative Groups 简介 块内组 thread_block tiled_partition Thread Block Tiles Coal ...

  7. kafka rebalance解决方案 -incremental cooperative协议和static membership功能

    apache kafka的重平衡(rebalance),一直以来都为人诟病.因为重平衡过程会触发stop-the-world(STW),此时对应topic的资源都会处于不可用的状态.小规模的集群还好, ...

  8. Bayesian Formulation on Cooperative Tracking

    Suppose a joint state representing a set of \(N_{n}\) nodes moving in a field\[    \textbf{X}=    \b ...

  9. Codeforces 1137D - Cooperative Game - [交互题+思维题]

    题目链接:https://codeforces.com/contest/1137/problem/D 题意: 交互题. 给定如下一个有向图: 现在十个人各有一枚棋子(编号 $0 \sim 9$),在不 ...

随机推荐

  1. Angular基础(八) Observable & RxJS

    对于一个应用来说,获取数据的方法可以有很多,比如:Ajax, Websockets, LocalStorage, Indexdb, Service Workers,但是如何整合多种数据源.如何避免BU ...

  2. Core Animation-2:寄宿图

    #寄宿图 >图片胜过千言万语,界面抵得上千图片  ——Ben Shneiderman 我们在第一章『图层树』中介绍了CALayer类并创建了一个简单的有蓝色背景的图层.背景颜色还好啦,但是如果它 ...

  3. (后台)El表达式格式化两位小数

    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>引入标签库. < ...

  4. linux中crw brw lrw等等文件属性是什么

    今天在查看 /dev/fuse 文件的属性的时候,看到了crw_ 权限位,一时反应不过来: [root@localhost ~]# ll /dev/fuse crw-rw-rw-. root root ...

  5. datatable 列名重新排序

    1. DataTable.Columns["MONEY"].SetOrdinal[4]; 2.dt = dt.DefaultView.ToTable(false, listarr. ...

  6. Vim和Vi的常用命令

    Vim 文本编辑器 1.Vim 和 Vi: 两者都是多模式编辑器: Vim 是 Vi 升级版,再兼容 Vi 所有指令的同时增加了一些新功能支持: 特点: 语法加亮:使用不同的颜色加亮代码: 多级撤销: ...

  7. iOS-省市区选择的实现

    一.简介 该文主要实现的是省市区的选择,可在个人修改地址的地方使用. 二.需要的东西 制作这个首先需要一个area.plist文件,该文件中保存这所有的关于省市区的信息,下载地址:http://pan ...

  8. 3D数学读书笔记——矩阵基础

     本系列文章由birdlove1987编写,转载请注明出处.    文章链接:http://blog.csdn.net/zhurui_idea/article/details/24975031   矩 ...

  9. PAT A1020 Tree Traversals (25 分)——建树,层序遍历

    Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and i ...

  10. jenkins安装Scanner插件

    环境centos7 第一步安装scaner插件 第二步 重启之后配置sonarqube 进入Jenkins-->系统管理-->系统设置,找到sonarqube servers,填写相关信息 ...