51Nod 1534 棋盘阻挡博弈

很简单的可以知道 如果P在V的右上角 必输 如果P在V的左下角 必赢

接下里还剩下左上角和右下角两种情况 两种情况其实相同 P是挡不住V通过对角线方向向下/左的移动的 即两者不会相互影响

所以我们只要比较两者走到终点所需时间的长短即可

#include<bits/stdc++.h>
using namespace std;
int f[1005];
int main()
{
    int xp, yp, xv, yv;
    cin >> xp >> yp >> xv >> yv;
    if (xp >= xv && yp >= yv) {
        cout << "Vasiliy" << endl;
        return 0;
    }
    if (xp <= xv && yp <= yv) {
        cout << "Polycarp" << endl;
        return 0;
    }
    if (max(xv, yv) >= xp + yp) {
        cout << "Polycarp" << endl;
    } else {
        cout << "Vasiliy" << endl;
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/Aragaki/p/10638860.html