牛客小白月賽2 F 黑黑白白

2021-10-09 04:37:21 字數 1218 閱讀 2460

題目鏈結

艮為山,動靜得宜,適可而止;兌為澤,剛內柔外,上下相和。

艮卦:兼山,艮;君子以思不出其位。財帛常打心頭走,可惜眼前難到手,不如意時且忍耐,逢著閒事休開口。

兌卦:麗澤,兌;君子以朋友講習。這個卦象真可取,覺著做事不費力,休要錯過這機關,事事覺得隨心意。

有乙個棋子放在一顆有根樹的根上。你和算卦先生輪流把這個棋子向所在點的其中乙個兒子移動(只能移動到兒子)。不能再移動就算失敗(即棋子所在節點沒有兒子)。

算卦先生來問你,如果你先手,你是否有必勝策略?

第一行乙個數 t,表示有 t 組資料。

接下去每組資料的第一行有兩個數 n,r ,表示樹有 n 個節點,其中 r 為根節點編號(從 1 開始編號)。

接下去 n - 1 行每行兩個數字 u, v ,表示點 u 和 v 之間有一條邊。

每組資料輸出一行,"gen"

\texttt

"gen"

表示先手有必勝策略,"dui"

\texttt

"dui"

表示沒有。

2

3 11 2

2 35 4

1 21 3

3 44 5

dui

gen

簡單的樹上博弈,先手如果有 k

kk 個選擇,當這 k

kk 種選擇都會使後手獲勝,則先手必敗,如果有一種情況能使先手獲勝,則先手必勝,用 dfs 在樹上轉移狀態即可,ac**如下:

#include

using

namespace std;

typedef

long

long ll;

const

int n=

1e4+5;

int t,n,s,u,v,vis[n]

;vector<

int>g[n]

;void

init()

bool

dfs(

int u)

}return flag;

}int

main()

if(dfs(s)

)printf

("dui\n");

else

printf

("gen\n");

}}

牛客小白月賽 黑黑白白(博弈)

只要子兒子存在乙個p,那麼當前這個節點就為n,反之如果兒子全部都是n,那麼當前節點就為p,dfs就可以解決,我在初始化vector的時候少打了乙個 wa兩次,還是太粗心 include include include include include include define ll long lo...

牛客小白月賽13 F題

小a這次來到乙個景區去旅遊,景區裡面有n個景點,景點之間有n 1條路徑。小a從當前的乙個景點移動到下乙個景點需要消耗一點的體力值。但是景區裡面有兩個景點比較特殊,它們之間是可以直接坐觀光纜車通過,不需要消耗體力值。而小a不想走太多的路,所以他希望你能夠告訴它,從當前的位置出發到他想要去的那個地方,他...

牛客小白月賽43 F 全體集合

題目鏈結 f 全體集合 給出 n 個點 m 條邊的無向圖,給出 k 個點上分別有乙個人,每個人一次只能走到乙個相鄰的節點,問有沒有一種可能讓這些人都走到乙個點。考慮使用二分圖染色 如果染色成功,說明這個圖是二分圖,那麼對於不同顏色的點永遠不可能走到一起,題目也說了這個圖是聯通的,所以說如果這 k 個...