1534 棋子遊戲 博弈論

2021-08-13 09:27:05 字數 1155 閱讀 8478

1534 棋子遊戲

codeforces

基準時間限制: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

/*

簡單的博弈論問題,可以模擬一下。

三種情況:

瓦西里的起點座標為(x1,y1),瓦西里的起點座標為(x2,y2),設0<=x<=x2,0<=y<=y2區域為a區域,棋盤上的其他區域為b區域:

波雷卡普到(0,0)的直接距離為s=x1+y1,瓦西里到(0,0)的直接距離為t=x2+y2;

1.s<=t ==> polycarp //波雷卡普的直接距離小於等於瓦西里的;

2.s>t && x1<=x2&&y1<=y2 ==> polycarp //波雷卡普的直接距離大於瓦西里,但波雷卡普的起點在a區域內;

3.s>t && x1>x2||y1>y2 ==> vasiliy //波雷卡普的直接距離大於瓦西里,但波雷卡普的起點在b區域內;

*/#include#includeint main()

{ int q,w,e,r;

while(~scanf("%d%d%d%d",&q,&w,&e,&r))

{int t,s;

if(e>=r)t=e;

else t=r;

s=q+w;

//printf("波雷卡普:%d 瓦西里:%d\n",s,t);

if(t>=s||t

51Nod 1534 棋子遊戲 博弈論

題目 輸入 單組測試資料。第一行包含四個整數xp,yp,xv,yv 0 xp,yp,xv,yv 10 5 表示波雷卡普和瓦西里棋子的座標。輸入保證他們的棋子在不同位置,而且沒有棋子在 0,0 輸出 如果波雷卡普獲勝,輸出polycarp,否則輸出vasiliy。樣例輸入 2 1 2 2樣例輸出 po...

博弈論 取棋子遊戲

題目大意 有兩堆石子,各為 n m 個,甲乙兩人輪流取石子,每次可以從任意一堆裡取走任意多個石子,也可以從兩堆中取走相同數量的石子,但不能不取。取走最後乙個石子的人為贏家。給出初始狀態,問先手有無必勝策略。資料範圍 rqnoj 256 1 n m 10000。poj 1067 1 n m 1,000...

51nod 1534 棋子遊戲(博弈)

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