51nod1534 棋子遊戲

2021-08-22 05:57:19 字數 778 閱讀 7416

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

我先考慮的後面的dx,dy都大於x,y肯定是前面的贏,前面的可以把後面的堵在那裡,然後考慮有一項大的,比如dx大的話,後面最少要走dx的距離,而前面的得走x+y的距離,判斷一下。

#includeusing namespace std;

int main()

else

return 0;

} //20 0 7 22 polycarp

//0 100000 100000 99999 polycarp

//1 2 0 1 vasiliy

51nod1534 棋子遊戲

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

51Nod1534 棋子遊戲

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

51nod 1534棋子遊戲 分析

polycarp 題解 這種題應該可以想到是進行分析,簡化邏輯的一類題。需要的就是多舉出幾組樣例,從中找到某種潛在的規律,從而簡化題目邏輯。這道題的話,可以發現p獲勝有兩種情況 第一 我們定義v和p到達 0,0 需要的最短時間為tv,tp,那麼顯然有tv max xv,yv tp xp yp.所以第...