51nod 1534 棋子游戏
来源:互联网 发布:如何网络人肉 编辑:程序博客网 时间:2024/05/21 09:01
对于v来说,一开始尽可能的斜着移动,直到遇到边界,或者被p拦截。一旦被p成功拦截那么v必输。
所以问题就变成了p能否成功拦截v。
即v移动的过程中,是否存在一个点,p也刚好,或提前到达这个点。
所以有两种情况:
1.v移动到xv=xp或yv=yp的时候,p成功或提前拦截。
2.v移动到边界后,进行水平或直线移动,直到xv=xp或yv=yp的时候,p提前或成功拦截。
可以看出,拦截点都在(0,0)与(xp,yp)作为对角的矩形的边界上(若能在其他点拦截,也必能在边界上拦截)。
进行分类讨论即可得出答案。
#include<bits/stdc++.h>using namespace std;int main(){long long xp,yp,xv,yv,tim;while(~scanf("%lld%lld%lld%lld",&xp,&yp,&xv,&yv)){tim=min(xv,yv);if(xv-tim<xp&&yv-tim<yp)tim=min(tim,max(max(yp-yv,xp-xv),0ll));xv-=tim;yv-=tim;if(xv==0){if(yv>yp){tim+=yv-yp;yv=yp;}} if(yv==0){if(xv>xp){tim+=xv-xp;xv=xp;}}tim-=max(xp-xv,0ll);tim-=max(yp-yv,0ll);if(tim<0)printf("Vasiliy\n");elseprintf("Polycarp\n");}}
0 0
- 51nod 1534 棋子游戏
- 51Nod 1534 棋子游戏
- 51Nod-1534-棋子游戏
- 51nod 1534 棋子游戏
- 51nod 1534 棋子游戏 ACM
- 51nod 1534棋子游戏(分析)
- 51nod 1534 棋子游戏(简单博弈)
- 51Nod-棋子游戏(博弈问题)
- 1534 棋子游戏(博弈论)
- 51nod 硬币游戏
- 51 nod bash游戏
- 迷宫游戏 51Nod
- 51Nod 迷宫游戏
- 威佐夫游戏 51Nod
- 【博弈论】取棋子游戏
- 【博弈论】取棋子游戏
- 51NOD 1459 迷宫游戏
- 51Nod 1459 迷宫游戏
- doT.js插件的使用
- AndroidStudio怎样导入library项目开源库
- iOS 开发 NSURLSession使用大全详解(包括请求,上传和断点下载)
- 选择排序
- android MediaCodec 音频编解码的实现——转码
- 51nod 1534 棋子游戏
- HDU 4605 Magic Ball Game(可持续化线段树,树状数组,离散化)
- Android源码学习笔记:Handler机制
- vc++ api 双缓冲绘图
- 通过cmd命令行pip安装Python模块 ImportError: No module named XXX
- Can't create handler inside thread that has not called Looper.prepare()
- CentOS7 搭建影梭服务器
- 2016-11-28
- 【iOS_GitHub】引导页/首次安装引导页/渐变引导页/APP介绍页/新功能介绍页