1534 棋子遊戲
codeforces
基準時間限制:1 秒 空間限制:131072 kb 分值: 20
難度:3級演算法題
還有一些其它的限制,他們不能把棋子移動到x或y為負的座標,或者移動到已經被對手佔據的座標。最先到達(0,0)的人獲勝。
現在給定他們棋子的座標,判斷一下誰會獲勝。
input
單組測試資料。output第一行包含四個整數xp,yp,xv,yv (0≤xp,yp,xv,yv≤10^5) ,表示波雷卡普和瓦西里棋子的座標。
輸入保證他們的棋子在不同位置,而且沒有棋子在(0,0)。
如果波雷卡普獲勝,輸出polycarp,否則輸出vasiliy。input示例
樣例輸入1output示例2 1 2 2
樣例輸出1polycarp
/*
簡單的博弈論問題,可以模擬一下。
三種情況:
瓦西里的起點座標為(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 單組測試資料。第一行包含...