未知 遊戲 題解

2021-08-07 12:15:18 字數 1784 閱讀 4770

「你又輸給我了!」

路由器將紙牌一攤,將白條貼在了勇者的臉上。

「我不服,你一定是出老千了!」

「那,換乙個遊戲怎麼樣?」

「行啊,沒問題!」

「那就來個大點的籌碼吧,怎樣?」

——————————————————————————

時間限制:2s 空間限制:256m

alice和bob在玩乙個遊戲,遊戲是在乙個n*n的矩陣上進行的,每個格仔上都有

乙個正整數。當輪到alice/bob時,他/她可以選擇最後一列或最後一行,並將其刪除,但

必須保證選擇的這一行或這一列所有數的和為偶數。如果他/她不能刪除最後一行或最後一

列,那麼他/她就輸了。兩人都用最優策略來玩遊戲,alice先手,問alice是否可以必勝?

輸入格式:

第一行:t,表示資料組數

對於每組資料的第一行:n

接下來n行,每行n個數,描述這個矩陣

輸出格式:

如果alice必勝輸出w,否則輸出l

樣例輸入:

2 2

2 4

6 8

3 5 4 2

1 5 9

7 3 8

樣例輸出:l w

資料範圍:

100%資料滿足

1<=n<=1000

保證每一行或每一列的和不會超過2*10^9

1<=t<=5

30%資料滿足

1<=n<=5

50%資料滿足

1<=n<=100

70%資料滿足

1<=n<=500

——————————————————————————

作為一道基礎的博弈論題,自以為(不,)會錯的。

實際上錯的很離譜……?

首先想到dfs,通過深搜輸贏的狀態判斷其他狀態的輸贏。

和大部分的博弈論題一樣,只要對方是有必勝狀態的話,我方就為必敗狀態。

記住這個可以少刷不少題。

…… 等等,忘了說錯在哪了。

這題為了卡過2s,需要各種優化。

包括:讀入優化,記憶化搜尋,預處理。

此外能夠預處理是更好的。

至於讀入優化……我只知道是通過讀入字元來使得讀入變快,僅此而已。

有這個印象應該就可以在考試的時候寫出來了吧。

#include

#include

#include

#include

using

namespace

std;

int kx[1002][1002]=;

int ky[1002][1002]=;

int a[1002][1002];

int f[1002][1002];

inline

int read()

while(ch>='0' && ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();

return x*w;

}int dfs(int x,int y,int k)

sum=ky[y][x];

if(sum%2==0)

return f[x][y]=ok;

}int main()

}if(dfs(n,n,0))else

}return

0;}

————————————

「你又輸了」

「所以……你想要什麼?」

「話說,大暴雨就要來了呢……」

未知 zi 題解

這題的名字真清奇。問題描述 我們有 m 1棵樹 分別是 t0,t1,tm。其中 t0是一棵只有個點的樹,點的編號為 0。生成第 i棵樹我們需要五個引數 ai,bi,ci,di,li ai,bi i 我們生成第 我們生成第i棵樹是 將第ai棵樹的ci號點和第bi棵樹的di號點用一條長度為li的邊連線起...

未知 數列1 題解

題目描述 從前有乙個數列 x0 1 xn ax n 1 b 小x想知道當n變得無窮大的時候,abs xn 是否會變成無窮大。輸入 有若干行,每行表示乙個測試資料。每行有兩個整數a,b,其中a a 1e9,b b 1e9。輸出 與輸入行數一致,每行包含小寫的yes或no,其中yes表示xn無窮大,反之...

未知 六邊形 題解

接上題,反正是一起做的那麼故事情節也接上吧嘻嘻嘻 正好,帶我去一趟天線崖。你確定?你都說了都要暴雨了,前幾天的暴雨 是啊,你還抱怨整天悶在家裡啥事也沒幹呢,結果就剩下我在刷題而你整天再睡覺。因為山脈的阻隔,所以他們只能乘坐小船到達那裡。而給他們租小船的人,開出了很高的價錢,但是。你們幫我解決乙個問題...