Reversi (太原理工新生賽決賽 A)博弈思維

2021-10-08 01:13:23 字數 1577 閱讀 6711

題目描述

翻轉棋,有時也被稱作黑白棋,是一種由兩個玩家進行的棋類遊戲,一方玩家控制白棋,另一方玩家控制黑棋,當一方玩家放置自己棋子後,如果有連續相鄰的另一方玩家的棋子與當前棋子擺放在一條直線上,且直線上的另一端是自己顏色的棋子,則這些對方玩家的棋子都會變成己方玩家棋子的顏色,這種操作便稱為翻轉。 某日,vanis、qiy和adolph外出比賽,乘坐了去x地的火車。火車上三個人感到很無聊,因此vanis提議玩翻轉棋。為了方便遊戲,他們對翻轉棋做了簡化,簡化後的規則如下:

初始有個棋子連續放置,擺在一排,使用0表示白色棋子,1表示黑色棋子,qiy使用黑色棋子並且先手操作,每個玩家每次只能在當前棋盤上所有棋子的最左邊或最右邊放置一枚棋子,並且需要保證在放置後至少翻轉乙個棋子,如果當前狀態不存在滿足此條件的操作,則跳過本次操作回合(除此情況外,不能跳過操作回合),如果某個狀態雙方玩家都無法操作,則遊戲結束,此時自身顏色的棋子數多的一方獲勝。這場遊戲輪到qiy與vanis進行,adolph希望知道如果雙方都採取最優策略,誰能獲得勝利。

舉個例子,若初始棋盤為0010。

qiy先手操作將黑子擺在最左側,根據翻轉規則,中間的兩顆白色棋子被翻轉成黑色。

vanis操作,將白色棋子擺在最左側,中間的四枚黑色棋子變成白色,此時雙方玩家都無法操作,遊戲結束,vanis獲勝。

輸入描述:

第一行輸入乙個正整數n,表示初始棋子數目。

第二場輸入乙個長度為n的字串,表示初始棋盤擺放,其中1表示黑色棋子,0表示白色棋子。

資料規範:

輸出描述:

根據遊戲結果輸出"vanis win"或"qiy win"。(不含雙引號)

示例1輸入複製4

0010

輸出複製

vanis win

示例2輸入複製3

111輸出

複製qiy win

示例3輸入複製3

101輸出

複製qiy win

題意:給定乙個由1/0組成的字串,1是黑子,0是白子,規則是:每次放子只能在最左或最右並且有自己棋子顏色組成的兩端可以把裡面的棋子全部反轉成自己的棋子,第乙個人先放黑子,如果當前狀態不存在滿足此條件的操作,則跳過本次操作回合,直到兩個人都無法操作為止。

思路:兩端都為自己的棋子就可以變換,兩人都無法操作即為所有棋子都變成乙個顏色的了,看字串初始兩端,如果都為1,不管放不放旗子都可以操作,再放之後就都變成黑色的了。第乙個人贏。如果兩端有一端是黑色,因為黑棋先走,在另一段放上黑棋后,就都變成黑色的了,第乙個贏。如果兩端都是白色的,那麼黑色放上去也無法操作,跳過第乙個人,因為第二個人也無法操作,那麼白色棋最多,即為第二個人贏。

**:

#includeusing namespace std;

int main ()

歡迎報考太原理工大學

太原理工大學作為百年老校,前身是與北京大學堂齊名的山西大學堂。太原理工大學成立於1902年,是一所 211 學校,同時也是時下的雙一流大學。學校坐擁兩名兩院院士,師資力量雄厚,理工科是本校的強項,但是同時也步伐文史類的專業。同時太原理工大學2019年在校友會中排名中國第78名。太原理工大學在山西叫做...

太原理工大學教務處

太原理工大學教務處 太原理工大學教務處最新訊息 教學服務 迎新報到系統 學生綜合查詢系統 學生成績錄入系統 校歷教師辦事指南 學生辦事指南 網路課程 處長信箱 舉報信箱 太原理工大學首頁 太原理工大學學生處 教學研究 關於申報2008年度太原理工大學大學生創新性實驗計畫的通知 2007 09 10 ...

太原理工大學ACM隊簡介(2018版)

在這裡,你將有機會與全國乃至世界各地的選手切磋技藝。acm的全稱是acm icpc association for computing machinery international collegiate programming contest 即國際大學生程式設計競賽。是由美國計算機協會 acm ...