首页 > 其他分享 >E. Eat the Chip

E. Eat the Chip

时间:2024-01-17 14:12:31浏览次数:32  
标签:y2 puts int Chip x2 y1 x1 Eat

原题链接

题记

事实1.求谁能把谁吃掉
事实2.当\(dx\)为奇数时,如果非平局一定是alice吃掉bob,偶数同理
事实3.当吃掉事件发生时,两颗棋子的\(x\)和\(y\)一定相同
事实4.由于已知谁会吃谁会被吃,被吃的棋子要使二者的\(dy\)尽可能的大,吃的棋子要使\(dy\)尽可能地小,这样就有点像你追我赶的样子了
事实5.当碰到墙壁时,无法再逃脱,只能直线行驶

总结

根据y的初始位置作出你追我赶模型,看看经过\(\frac{d}{2}\)次移动后能不能追上,其中如果是alice追bob,alice的d要加一因为是先手

code

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int h,w,x1,x2,y1,y2;
        cin>>h>>w>>x1>>y1>>x2>>y2;
        if(x1>=x2)
        {
            puts("Draw");
            continue;
        }

        if((x2-x1)%2)
        {
            int d=(x2-x1+1)/2;
            if(y1<y2)
            {
                y1=min(w,d+y1);
                y2=min(w,d-1+y2);
                if(y1>=y2)puts("Alice");
                    else puts("Draw");
            }
            else
            {
                y1=max(1,y1-d);
                y2=max(1,y2-d+1);
                 if(y1<=y2)puts("Alice");
                    else puts("Draw");
            }

        }
        else
        {
            int d=(x2-x1)/2;
            if(y1>y2)
            {
                y1=min(w,d+y1);
                y2=min(w,d+y2);
                 if(y2>=y1)puts("Bob");
                    else puts("Draw");
            }
            else
            {
                y1=max(1,y1-d);
                y2=max(1,y2-d);
                 if(y2<=y1)puts("Bob");
                    else puts("Draw");
            }

        }
    }
    return 0;
}

标签:y2,puts,int,Chip,x2,y1,x1,Eat
From: https://www.cnblogs.com/pure4knowledge/p/17969905

相关文章

  • Kubernetes集群中 Pod 中报pthread_create failed: Resource temporarily unavailable
    查看containerd日志显示如下信息OCIruntimeexecfailed:execfailed:unabletostartcontainerprocess:readinit-p:connectionresetbypeer:unknown"查看Pod日志中显示pthread_createfailed:Resourcetemporarilyunavailable通过监控系统查看节点的进程数t......
  • SpringCloudAliBaBa Seata学习
    分布式事务使用场景同一个事务对两个数据库操作,事务肯定是会失效的因为一个事务就是一个数据库连接,不同的连接就是不同的事务Seata是什么?Seata是一款分布式事务解决方案,用AT模式是阿里推荐的事务模式:TCC、SAGA、XA常见分布式事务解决方案1、seata阿里分布式框架2、消息......
  • C++:GDAL中CreateCopy()函数生成的栅格图像如何修改波段数?
      本文介绍基于C++语言GDAL库,为CreateCopy()函数创建的栅格图像添加更多波段的方法。  在C++语言的GDAL库中,我们可以基于CreateCopy()函数与Create()函数创建新的栅格图像文件。其中,CreateCopy()函数需要基于一个已有的栅格图像文件作为模板,将模板文件的各项属性信息(例如空......
  • 无涯教程-SQL - Create Table Using another Table.函数
    可以使用CREATETABLE语句和SELECT语句的组合来创建现有表的副本。新表具有相同的列定义。可以选择所有列或特定列。当您使用现有表创建新表时,将使用旧表中的现有值填充新表。语法从另一个表创建表的基本语法如下:CREATETABLENEW_TABLE_NAMEASSELECT[column1,colu......
  • vscode报错Pylance client: couldn‘t create connection to server.解决
    问题描述:一打开vscode,右下角就弹报错,Pylanceclient:couldn’tcreateconnectiontoserver.,让我打开output,打开后似乎是在说连不上server因为连不上server,所以我的python代码没法解析,尝试重开vscode也没用问题解决:点开左侧的拓展,找到PythonExtensionPack,这就是解析python代......
  • Threat Simulator (威胁仿真器) 23.12.2 - 入侵与攻击仿真(BAS)平台
    ThreatSimulator(威胁仿真器)23.12.2-入侵与攻击仿真(BAS)平台连续验证您的安全态势,有效抵御最新威胁请访问原文链接:ThreatSimulator(威胁仿真器)23.12.2-入侵与攻击仿真(BAS)平台,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgThreatSimulator威胁仿真器......
  • 彻底搞懂Cocos Creator Tween
    Cocos使用了Tween来代替原来的Action系统,今天来给大家讲解Tween如何使用, 帮助大家掌握Tween的使用,并且对Tween有一个更深入的了解。 1:Tween到底是什么? CocosCreator里面的Tween你可以理解为是一个容器对象, 在这个容器对象里面可以存放很多的”执行过程”,当执行这......
  • 【Vue2+3入门到实战】(21)认识Vue3、使用create-vue搭建Vue3项目、熟悉项目和关键文件
    目录一、认识Vue31.Vue2选项式APIvsVue3组合式API2.Vue3的优势二、使用create-vue搭建Vue3项目1.认识create-vue2.使用create-vue创建项目三、熟悉项目和关键文件四、总结一、认识Vue31.Vue2选项式APIvsVue3组合式API<script>exportdefault{data(){r......
  • `git push` 报错:error: remote unpack failed: unable to create temporary object di
    祸首:wsl:检测到localhost代理配置,但未镜像到WSL。NAT模式下的WSL不支持localhost代理;修改:NAT改镜像问题1:在自己的服务器上新建git仓库时,推送就一直报错;最开始一直推送失败,怀疑是WSL的网关由NAT改为镜像了......
  • [论文阅读 ] Domain generalization via feature variation decorrelation
    Domaingeneralizationviafeaturevariationdecorrelation3METHOD在本节中,我们首先在第3.2节解释我们的动机。然后,在第3.3节中,我们介绍特征变化的解缠和讨论方差转移的想法。最后,在第3.4节中,我们提出了我们的新颖特征变化解相关损失。图2显示了所提出方法的框架。3.1Prob......