E. Eat the Chip

原题链接

题记

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

总结

根据y的初始位置作出你追我赶模型,看看经过d2次移动后能不能追上,其中如果是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;
}

posted @   纯粹的  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示