51nod 1534 棋子遊戲(博弈)

2021-08-18 02:02:21 字數 820 閱讀 2881

1534 棋子遊戲

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 難度:3級演算法題

還有一些其它的限制,他們不能把棋子移動到x或y為負的座標,或者移動到已經被對手佔據的座標。最先到達(0,0)的人獲勝。

現在給定他們棋子的座標,判斷一下誰會獲勝。

input

單組測試資料。

第一行包含四個整數xp,yp,xv,yv (0≤xp,yp,xv,yv≤10^5) ,表示波雷卡普和瓦西里棋子的座標。

輸入保證他們的棋子在不同位置,而且沒有棋子在(0,0)。

output

如果波雷卡普獲勝,輸出polycarp,否則輸出vasiliy。
input示例

樣例輸入1

2 1 2 2

output示例

樣例輸出1

polycarp

【思路】對於先手來說,如果先手能夠在後手到達(0,0)前攔截後手一次,則以後的移動過程中先手則一定次次能夠攔截後手,後手必輸。假設先手初始座標為(xa,ya),後說初始座標為(xb,yb),當xa<=xb&&ya<=yb時,先手一定能夠攔截後手;當xa>xb&&ya>yb時,後手可以通過走斜線獲勝;否則,誰距離(0,0)點的距離近誰勝。

【**如下】

#include using namespace std;

int xa,xb,ya,yb;

int main()

return 0;

}

51nod1534 棋子遊戲

1534 棋子遊戲 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 還有一些其它的限制,他們不能把棋子移動到x或y為負的座標,或者移動到已經被對手佔據的座標。最先到達 0,0 的人獲勝。現在給定他們棋子的座標,判斷一下誰會獲勝。input 單組測試資料。第一行包含...

51nod1534 棋子遊戲

思路分析 我們先考慮,vasiliy是比polycarp有優勢的,他可以在沒有阻攔且在未到邊界的情況下一次走出polycarp兩次的路,所以我們的polycarp想要獲勝就有了兩種方法,第一種是在vasiliy盡可能多的走斜邊的情況下polycarp步數仍然較少,此時由於polycarp走的相對較慢...

51Nod1534 棋子遊戲

原題位址 簡單博弈論。簡單情況下,即假設不發生乙個棋子阻擋另乙個棋子的去路,那麼情況非常簡單,兩人都必須走完 x y 的路程,先手一次可以走一步,所以時間也為 x y 後手可以先一直讓 x,y 都減一,乙個消耗完後再讓另乙個參量一步減一。這一部分的 int sum1 x1 y1,sum2 min x...