Marbles(Sg函式,終態為必勝態)

2021-08-30 06:38:47 字數 1188 閱讀 8792

原題:

題意:

有多個點(x,y)(x>0,y>0),雙方可以移動乙個點到(x−

a,y)

,(x,

y−a)

,(x−

a,y−

a)

(x-a,y),(x,y-a),(x-a,y-a)

(x−a,y

),(x

,y−a

),(x

−a,y

−a),第乙個移到(0,

0)

(0,0)

(0,0

)的玩家獲勝,多個點可以重複,穿越。

解析:

首先是sg函式,這個沒有問題。但是這道題有點不同,雖然(0,

0)

(0,0)

(0,0

)是必敗態,但是(0,

x)(x

,0)(

x,x)

(0,x)(x,0)(x,x)

(0,x)(

x,0)

(x,x

)都是必勝態,顯然其他地方只能走到這三種必勝態。

將這些狀態看成終態(此狀態直接決定勝負),但是此時終態為勝態(平時終態為敗態)

我們需要消除這些勝態的影響:將sg值變為inf

因為這個狀態是終態,為勝態。本來如果是敗態,那麼我會直接走這個狀態,所以sg設為0:直接mex乙個0就為非0了;現在是能不走這個點就不走,所以我們需要消除影響

當然,我們最後算異或的時候,如果有乙個為終態,直接輸出「y」即可

#include

using namespace std;

intread()

int sg[

109]

[109];

bool vis[

200]

;void

init()

for(

int k=0;

;k++)}

}}}int

main()

if(nim!=0)

printf

("y\n");

else

printf

("n\n");

}

以終為始1

自我領導的原則 太多人成功之後,反而感到空虛 得到名利之後,卻發現犧牲了更可 貴的事物。因此,我們務必掌握真正重要的願景,然後勇往直前堅持 到底,使生活充滿意義。身外之物和內在力量相比,便顯得微不足道。霍姆斯 oliver wendell holmes 前美國最高法院 官 閱讀本章時,請找個僻靜不受...

函式終探 匿名函式

匿名函式 lambda,之所以叫匿名函式,就是因為它沒有名字,匿名函式也叫一次性函式,往往我們只用一次,更多還是應該命名為好 如果你在編輯器中打出lambda,按回車就會出現 這就是lambda的最基本語法 匿名函式的基本要求 1,lambda 表示式必須使用 lambda 關鍵字定義 2,lamb...

有感 以終為始做事情

最晚肯定不是週三,而是週六凌晨我發的那條朋友圈 周五剛好也趕上大促的需求,跟終端小夥伴們一起加班到凌晨2點多,我也是第一次凌晨兩點多走在科技中一路上,這個拐角估計很多人都認得,但估計沒有多少人這個點走過。前面是鋪墊,疫情特殊時期確實忙到抽風,這也是我過去三年從未有過的體驗,有感而發,下面是正文。雖然...