2017广东工业大学程序设计竞赛决赛--Problem B: 占点游戏
Description
眾所周知的是,TMK特別容易遲到,終于在TMK某次又遲到了之后,Maple怒了,Maple大喊一聲:“我要跟你決一死戰!”然后Maple就跟TMK玩起了一個關于占點的游戲。
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
轉載于:https://www.cnblogs.com/nyist-xsk/p/7264843.html
總結
以上是生活随笔為你收集整理的2017广东工业大学程序设计竞赛决赛--Problem B: 占点游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云OSS搭建移动应用直传服务的.Ne
- 下一篇: matlab 实现 stacked Au