zoukankan      html  css  js  c++  java
  • CodeForces 55 C.Pie or die(博弈)

    CF地址:https://codeforces.com/problemset/problem/55/C

    Cf访问慢的可以去洛谷:https://www.luogu.com.cn/problem/CF55C

    题意:

    Volodya和Vlad在玩下面的这个游戏。这里有k个派,分布在n×m的板子上。每一回合Volodya移动一个派到这个派边界的格子,如果这个派在板子的边界,Volodya就可以把它移出板,得到这个派并且获胜。在Volodya移动之后,Vlad在板的边界放一个长度为1的挡板,然后Volodya就不能把派从挡住的边移出。 请问,Volodya会赢得这次比赛吗?(我们假设两个玩家都无比聪明)

    解析:

    很容易想到,肯定是让某个棋子往最近的边走,如果下一步被封,就往角落走,因为角落含有两个出口,只要在两个出口封掉之前到达,一定能赢。

    所以Vlad要先把四个角各封上一条边,然后再封掉派离得最近的一边。一共5步。

    所以只要Volody能在5步以内走到边界,那么肯定有一个出口在封掉之前能出去。

    #include<bits/stdc++.h>
    #include<cmath>
    #include<map>
    #define pb push_back
    using namespace std;
    typedef long long ll;
    const int maxn=2e5+10;
    int mp[105][105];
    int n,m,k;
    int main()
    {
        int x,y;
        cin>>n>>m>>k;
        int ok = 0;
        for(int i=1;i<=k;i++)
        {
            cin>>x>>y;
            if(x<=5||y<=5||(n-x)<=4||(m-y)<=4)
                ok=1;
        }
        if(ok)
            cout<<"YES"<<endl;
        else
            cout<<"NO"<<endl;
    }
  • 相关阅读:
    正则元字符总表
    Request中的各种地址
    JSONP实例
    【Kindeditor编辑器】 文件上传、空间管理
    【加密算法】SHA
    【加密算法】DES
    【加密算法】3DES
    【加密算法】Base64
    【加密算法】MD5
    【加密算法】AES
  • 原文地址:https://www.cnblogs.com/liyexin/p/13799146.html
Copyright © 2011-2022 走看看