佔點遊戲(數學)

2021-07-29 20:11:08 字數 1390 閱讀 1561

problem b: 佔點遊戲

maple在乙個無限展開的只有整數點的二維平面上找到兩個點,由tmk和maple分別操控這兩個點,兩人輪流操作,每一次操作中tmk或maple可以把他的點移動一格到上、下、左、右四個方向,當tmk操作時,移動到的這個點會被染成紅色,而當maple操作時,移動到的這個點會被染成藍色,需要注意的是,兩個起始時的兩個點也都會被染上相應的顏色,而當任一人走到已經染了不同顏色的點,這個顏色會被覆蓋掉,當兩個點覆蓋在一起時,這個點會被後來的點染色。當遊戲結束時染著自己顏色的點就代表被自己占領了。

tmk一下就明白了,這個遊戲的目標是讓自己占領的點比對方占領的點多,而且要讓差值最大。

為了公平一些,maple決定讓tmk來選擇先手或後手和讓tmk來選擇點,相應的maple就會選擇另乙個點。

現在給出遊戲的總輪數n,maple選擇的兩個點的座標(x1,y1),(x2,y2),要tmk來選擇先後手和起始點,假設maple一定按最優策略來走,問tmk能不能選擇先後手和起始點使得自己占領的點比maple占領的多,如果能,那麼同時要求出占領的點數的最大差值。

input

第一行乙個t,代表接下來有t組資料(1<=t<=2000)。每組資料有五個整數n,x1,y1,x2,y2,代表了操作的總輪數n以及選擇的兩個起始點(x1,y1),(x2,y2),其中1<=n<=10^8,-10^8<=x1,y1,x2,y2<=10^8,資料保證兩個點不相同。
output

對於每一組資料,如果tmk占領的點不能比maple占領的多,那麼輸出-1,否則輸出兩個占領點數的最大差值。
sample input

4 1 0 0 1 0

2 0 0 1 0

1 0 0 2 0

2 0 0 2 0

sample output

2 -1

1 -1

思路:

其實一開始一點思路都沒有,後面看題解

首先判斷兩個點之間的距離是否大於每個人能夠走的步數,如果走不到的話,要麼先手比後手多走一步,要麼平局。

然後判斷 n 和 k 的奇偶性,其實不太懂

2017廣東工業大學程式設計 B題 佔點遊戲

description 眾所周知的是,tmk特別容易遲到,終於在tmk某次又遲到了之後,maple怒了,maple大喊一聲 我要跟你決一死戰!然後maple就跟tmk玩起了乙個關於佔點的遊戲。maple在乙個無限展開的只有整數點的二維平面上找到兩個點,由tmk和maple分別操控這兩個點,兩人輪流操...

數學基礎 遊戲開發數學技術

1 一般式 ax by c 0 a b不同時為0 適用於所有直線 a1 a2 b1 b2 c1 c2 兩直線平行 a1 a2 b1 b2 c1 c2 兩直線重合 橫截距a c a 縱截距b c b 2 點斜式 y y0 k x x0 適用於不垂直於x軸的直線 表示斜率為k,且過 x0,y0 的直線 ...

數學故事 火柴遊戲

乙個最普通的火柴遊戲就是兩人一起玩,先置若干支火柴於桌上,兩人輪流取,每次所取的數目可先作一些限制,規定取走最後一根火柴者獲勝。規則一 若限制每次所取的火柴數目最少一根,最多三根,則如何玩才可致勝 例如 桌面上有 n 15 根火柴,甲 乙兩人輪流取,甲先取,則甲應如何取才能致勝 為了要取得最後一根,...