913 貓和老鼠

2021-09-23 07:37:29 字數 783 閱讀 3882

兩個玩家分別扮演貓(cat)和老鼠(mouse)在無向圖上進行遊戲,他們輪流行動。

該圖按下述規則給出:graph[a]是所有結點b的列表,使得ab是圖的一條邊。

老鼠從結點 1 開始並率先出發,貓從結點 2 開始且隨後出發,在結點 0 處有乙個洞。

在每個玩家的回合中,他們必須沿著與他們所在位置相吻合的圖的一條邊移動。例如,如果老鼠位於結點1,那麼它只能移動到graph[1]中的(任何)結點去。

此外,貓無法移動到洞(結點 0)裡。

然後,遊戲在出現以下三種情形之一時結束:

給定graph,並假設兩個玩家都以最佳狀態參與遊戲,如果老鼠獲勝,則返回1;如果貓獲勝,則返回2;如果平局,則返回0

示例:

輸入:[[2,5],[3],[0,4,5],[1,4,5],[2,3],[0,2,3]]

輸出:0

解釋:4---3---1

|   |

2---5

\ /0

3 <= graph.length <= 200保證graph[1]非空。

保證graph[2]包含非零元素。

貓和老鼠玩象棋,

貓和老鼠玩象棋,玩了m n局,貓贏了m局 老鼠贏了n局 n m,而且在整個過程中,貓的得分從來沒有超過過老鼠,問共有多少種可能的比賽得分過程 思路是博弈樹,向右遍歷表示老鼠贏了,向左遍歷表示貓贏了,遍歷這顆樹,當然從根節點出發,不需要遍歷左子樹。演算法懶得寫了!include int c void ...

貓和老鼠玩象棋

貓和老鼠玩象棋,玩了m n局,貓贏了m局 老鼠贏了n局 n m,而且在整個過程中,貓的得分從來沒有超過過老鼠,問共有多少種可能的比賽得分過程 c語言 include int count int win,int fail,int win now,int fail now if win now win ...

事件 貓和老鼠觀察者模式

委託與事件的區別 事件在哪個類定義,就要在哪個類發布,委託 都能發布 using system namespace 008事件 public class people public int age public people 建構函式或者說是初始化建立物件 public void eat publi...