zoukankan      html  css  js  c++  java
  • 51nod1534 棋子游戏

    思路分析:我们先考虑,Vasiliy是比Polycarp有优势的,他可以在没有阻拦且在未到边界的情况下一次走出Polycarp两次的路,所以我们的Polycarp想要获胜就有了两种方法,第一种是在Vasiliy尽可能多的走斜边的情况下Polycarp步数仍然较少,此时由于Polycarp走的相对较慢,他一定更靠近终点,所以Vasiliy是一定堵不着他的,于是他稳赢,再来考虑在Vasiliy尽可能多的走斜边的情况下Polycarp步数较多的情况,此时虽然Polycarp步数多,但他依然有可能比Vasiliy更靠近终点,如果Polycarp在Vasiliy和两边界所形成的矩形之内,Polycarp想要获胜一定会去堵Vasiliy,且一定可以成功,因为Vasiliy一定会靠近终点,相对靠近了Polycarp,此时可以Polycarp就可以守株待兔了。

    代码:

     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cstring>
     4 using namespace std;
     5 const int N=1e6+10;
     6 int count(int a,int b){
     7     int cnt=0;
     8     while(a>0&&b>0){
     9         a--;b--;
    10         cnt++;
    11     }
    12     cnt+=a+b;
    13     return cnt;
    14 }
    15 int main(){
    16     int x,y,a,b;
    17     scanf("%d%d%d%d",&x,&y,&a,&b);
    18     int step1,step2;
    19     step1=x+y; //计算两个人各自的步数 
    20     step2=count(a,b);
    21     if(step1<=step2){//Polycarp步数少 
    22         printf("Polycarp
    ");
    23         return 0;
    24     }
    25     else if(x>a||y>b){//Polycarp在Vasiliy内 
    26         printf("Vasiliy
    ");
    27         return 0;
    28     }
    29     printf("Polycarp
    ");
    30     return 0;
    31 }
    View Code
  • 相关阅读:
    python写的百度贴吧相册下载
    C#的图片拼接
    删除目录下的所有".svn"文件
    centOS 6.5 yum升级 gcc4.8 然后又退回来4.4
    代理的分类简述特点
    GCC 特性整理
    纯C 实现 strpos substr strspilt str_trim
    编译putty 源码去掉 Are you sure you want to close this session? 提示
    OpenWrt tcpdump 抓包
    安卓 打飞机 app 开发 第一篇
  • 原文地址:https://www.cnblogs.com/li-jia-hao/p/12994067.html
Copyright © 2011-2022 走看看