zoukankan      html  css  js  c++  java
  • Codeforces1137D Cooperative Game

    Description

    Input

    Output

    Solution

    就是你有10个棋子,有一条边数为t的链和一个边数为c的环(t和c未知)组成的有向图,每次操作可以让一些棋子移动一步,让你在不超过(3 imes (t+c))次操作下让所有点移动到链和环连接的点处
    首先我们考虑两个点动,剩下的点走t步走到终点
    设0每两次操作走一次,1每次操作都走
    当0走到连接处时,花费了2t步,还剩(t+3c)步
    标记该点为0,然后按顺序给每个点按1~c-1标点
    显然1的位置在(t%c)处
    则1追上0需要2*(c-t%c)步
    此时的位置应该是(c-t%c)
    而再走t步的位置就回到了0
    总步数(3t+(2c-t%c))<(3 imes (t+c))

    #include <cstdio>
    #include <algorithm>
    #define open(x) freopen(x".in","r",stdin);freopen(x".out","w",stdout);
    using namespace std;
    char s[21];
    int pd()
    {
        int t;
        scanf("%d",&t);
        for (int i=1;i<=t;i++)
            scanf("%s",s);
        return t;
    }
    int main()
    {
        open("cooperative");
        while (true)
        {
            printf("next 0 1
    ");
            fflush(stdout);
            pd();
            printf("next 1
    ");
            fflush(stdout);
            if (pd()==2) break;
        }
        while (true)
        {
            printf("next 0 1 2 3 4 5 6 7 8 9
    ");
            fflush(stdout);
            if (pd()==1) 
            {
                printf("done");
                fflush(stdout);
                exit(0);
            }
        }
        return 0;
    }
    
    
    如果自己说什麽都做不到而什麽都不去做的话,那就更是什麽都做不到,什麽都不会改变,什麽都不会结束.
  • 相关阅读:
    2-7-配置iptables防火墙增加服务器安全
    2-6-搭建无人执守安装服务器
    2-4-搭建FTP服务器实现文件共享
    第一阶段连接
    在mfc中如何显示出系统时间
    关于const
    第三章类图基础
    算法分析的数学基础
    第十二章 派生类
    学好C++该看什么书呢?
  • 原文地址:https://www.cnblogs.com/Sport-river/p/13823349.html
Copyright © 2011-2022 走看看