51nod 1534 棋子游戏
生活随笔
收集整理的這篇文章主要介紹了
51nod 1534 棋子游戏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1534?棋子游戲 題目來源:?CodeForces 基準(zhǔn)時間限制:1?秒 空間限制:131072?KB 分值:?20?難度:3級算法題 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1534
1、如果a的橫縱坐標(biāo)均小于等于b,那么a獲勝
2、否則,到終點(diǎn)的最小步數(shù)少的獲勝
到終點(diǎn)的最小步數(shù):
只能向上、左走,最小步數(shù)等于橫縱坐標(biāo)之和
能向上、左、左上走,最小步數(shù)等于max(橫坐標(biāo),縱坐標(biāo))
#include<cstdio> #include<algorithm> using namespace std; int a,b,c,d; int main() {scanf("%d%d%d%d",&a,&b,&c,&d);if(a<=c&&b<=d) puts("Polycarp");else if(a>c&&b>d) puts("Vasiliy");else {if(a+b<=max(c,d)) puts("Polycarp");else puts("Vasiliy");} }
波雷卡普和瓦西里喜歡簡單的邏輯游戲。今天他們玩了一個游戲,這個游戲在一個很大的棋盤上進(jìn)行,他們每個人有一個棋子。他們輪流移動自己的棋子,波雷卡普先開始。每一步移動中,波雷卡普可以將他的棋子從(x,y)?移動到?(x-1,y)?或者?(x,y-1)。而瓦西里可以將他的棋子從(x,y)?移動到?(x-1,y),(x-1,y-1)?或者?(x,y-1)。當(dāng)然他們可以選擇不移動。
還有一些其它的限制,他們不能把棋子移動到x或y為負(fù)的座標(biāo),或者移動到已經(jīng)被對手占據(jù)的座標(biāo)。最先到達(dá)(0,0)的人獲勝。
現(xiàn)在給定他們棋子的座標(biāo),判斷一下誰會獲勝。
Input 單組測試數(shù)據(jù)。 第一行包含四個整數(shù)xp,yp,xv,yv?(0≤xp,yp,xv,yv≤10^5)?,表示波雷卡普和瓦西里棋子的座標(biāo)。 輸入保證他們的棋子在不同位置,而且沒有棋子在(0,0)。 Output 如果波雷卡普獲勝,輸出Polycarp,否則輸出Vasiliy。 Input示例 樣例輸入1 2?1?2?2 Output示例 樣例輸出1 Polycarp1、如果a的橫縱坐標(biāo)均小于等于b,那么a獲勝
2、否則,到終點(diǎn)的最小步數(shù)少的獲勝
到終點(diǎn)的最小步數(shù):
只能向上、左走,最小步數(shù)等于橫縱坐標(biāo)之和
能向上、左、左上走,最小步數(shù)等于max(橫坐標(biāo),縱坐標(biāo))
#include<cstdio> #include<algorithm> using namespace std; int a,b,c,d; int main() {scanf("%d%d%d%d",&a,&b,&c,&d);if(a<=c&&b<=d) puts("Polycarp");else if(a>c&&b>d) puts("Vasiliy");else {if(a+b<=max(c,d)) puts("Polycarp");else puts("Vasiliy");} }
?
?轉(zhuǎn)載于:https://www.cnblogs.com/TheRoadToTheGold/p/6391352.html
總結(jié)
以上是生活随笔為你收集整理的51nod 1534 棋子游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 2733 线段树的合并 并查集
- 下一篇: 刺激战场怎么卡燃烧瓶