棋子游戏
棋子游戲
題目
波雷卡普和瓦西里喜歡簡單的邏輯游戲。今天他們玩了一個游戲,這個游戲在一個很大的棋盤上進行,他們每個人有一個棋子。他們輪流移動自己的棋子,波雷卡普先開始。每一步移動中,波雷卡普可以將他的棋子從(x,y) 移動到 (x-1,y) 或者 (x,y-1)。而瓦西里可以將他的棋子從(x,y) 移動到 (x-1,y),(x-1,y-1) 或者 (x,y-1)。當然他們可以選擇不移動。
還有一些其它的限制,他們不能把棋子移動到x或y為負的座標,或者移動到已經被對手占據的座標。最先到達(0,0)的人獲勝。
現在給定他們棋子的座標,判斷一下誰會獲勝。
輸入
單組測試數據。 第一行包含四個整數xp,yp,xv,yv (0≤xp,yp,xv,yv≤10^5) ,表示波雷卡普和瓦西里棋子的座標。 輸入保證他們的棋子在不同位置,而且沒有棋子在(0,0)。
輸出
如果波雷卡普獲勝,輸出Polycarp,否則輸出Vasiliy。
樣例輸入
樣例輸入1
2 1 2 2
樣例輸出
樣例輸出1
Polycarp
分析
設Polycarp的坐標為((x1,y1)), Polycarp只能向左或向上走,步數為(x1+y1)
設Vasiliy的坐標為((x2,y2)),Vasiliy不僅能向左,向上走,還能向左上走,Vasiliy肯定盡量向左上走,步數為(max(x2,y2))
只需比較二者的大小即可
代碼
/*************************************************************************
> File Name: i.cpp
> Author: LiuGeXian
> Mail: 1019630230@qq.com
> Created Time: 2020/5/29 19:51:16
************************************************************************/
#include <bits/stdc++.h>
using namespace std;
#define P printf("Polycarp")
#define V printf("Vasiliy")
int a, b, c, d;
int main(){
scanf("%d%d%d%d", &a, &b, &c, &d);
if (a <= c && b <= d) P;
else if (a > c && b > d) V;
else {
if (a + b <= max(c, d)) P;
else V;
}
return 0;
}
總結
- 上一篇: 做全飞秒激光手术多少钱?
- 下一篇: python安装pip