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

2021-07-29 15:32:52 字數 1754 閱讀 5431

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

好厲害的博弈,我沒有看出來

看**

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define lowbit(x) (x&-x)

#define abs(x) ((x)>0?(x):-(x))

using

namespace

std;

typedef

long

long ll;

const

double pi = acos(-1.0);

const

int n = 1e6+10, m = 1e3+20, mod = 1e9+7, inf = 2e9+10;

const

double e=2.718281828459 ;

const

double esp=1e-9;

int main()

else

}else

}return

0;}

2017廣東工業大學程式設計競賽決賽 E(倒水)

problem e 倒水 water description 一天,cc買了n個容量可以認為是無限大的瓶子,開始時每個瓶子裡有1公升水。接著 cc發現瓶子實在太多了,於是他決定保留不超過k個瓶子。每次他選擇兩個當前含水量相同的瓶子,把乙個瓶子的水全部倒進另乙個裡,然後把空瓶丟棄。不能丟棄有水的瓶子 ...

廣東工業大學程式設計競賽決賽 C

小時候,我只能一階一階得爬樓梯,後來,我除了能一次爬一階,還可以一次爬兩階,到現在,我最多一次可以爬三階。那麼現在問題來了,我想爬上 n層樓,相鄰樓層之間有一段樓梯,雖然我一次可以爬 1個台階 2個台階和 3個台階,但是我在i與 i 1層之間的樓梯上時,我不能跨越到 i 1與 i 2層之間的樓梯。現...

2017廣東工業大學程式設計競賽決賽 等凹數字

定義一種數字稱為等凹數字,即從高位到地位,每一位的數字先非遞增再非遞減,不能全部數字一樣,且該數是乙個回文數,即從左讀到右與從右讀到左是一樣的,僅形成乙個等凹峰,如 543212345 5544334455 是合法的等凹數字,543212346 123321,111111 不是等凹數字。現在問你 l...