藍橋杯 歷屆試題 填字母遊戲 記憶化搜尋

2021-10-09 23:45:11 字數 1158 閱讀 7877

小明經常玩 lol 遊戲上癮,一次他想挑戰k大師,不料k大師說:

「我們先來玩個空格填字母的遊戲,要是你不能贏我,就再別玩lol了」。

k大師在紙上畫了一行n個格仔,要小明和他交替往其中填入字母。

並且:1.

1.1.

輪到某人填的時候,只能在某個空格中填入l或o

2.

2.2.

誰先讓字母組成了「lol」的字樣,誰獲勝。

3.

3.3.

如果所有格仔都填滿了,仍無法組成lol,則平局。

小明試驗了幾次都輸了,他很慚愧,希望你能用計算機幫他解開這個謎。

輸入格式

第一行,數字n(n<10),表示下面有n個初始局面。

接下來,n行,每行乙個串,表示開始的局面。

比如:』*****』, 表示有6個空格。『l****』, 表示左邊是乙個字母l,它的右邊是4個空格。

輸出格式

要求輸出n個數字,表示對每個局面,如果小明先填,當k大師總是用最強著法的時候,小明的最好結果。

1 表示能贏

-1 表示必輸

0 表示可以逼平

樣例輸入

4

***l**l

l**l***l

l*****l

樣例輸出
0-11

1

//演算法大體框架(queryans儲存搜尋過的str)

int dfs(str)

#includeusing namespace std;

const int n=1e5+5;

mapdp;

char str[n];

int dfs(char *str,int n)

if(ret==0) flag=0;

str[i]='l';

ret=dfs(str,n);

if(ret==-1)

if(ret==0) flag=0;

str[i]='*';

} }return dp[str]=flag;

}int main()

return 0;

}

藍橋杯 歷屆試題 填字母遊戲

傳送門 問題描述 小明經常玩 lol 遊戲上癮,一次他想挑戰k大師,不料k大師說 我們先來玩個空格填字母的遊戲,要是你不能贏我,就再別玩lol了 k大師在紙上畫了一行n個格仔,要小明和他交替往其中填入字母。並且 1.輪到某人填的時候,只能在某個空格中填入l或o 2.誰先讓字母組成了 lol 的字樣,...

DFS 藍橋杯試題 填字母遊戲

oj位址 小明經常玩 lol 遊戲上癮,一次他想挑戰k大師,不料k大師說 我們先來玩個空格填字母的遊戲,要是你不能贏我,就再別玩lol了 k大師在紙上畫了一行n個格仔,要小明和他交替往其中填入字母。並且 1.輪到某人填的時候,只能在某個空格中填入l或o 2.誰先讓字母組成了 lol 的字樣,誰獲勝。...

藍橋杯 填字母

題目 輪到某人填的時候,只能在某個空格中填入l或o 誰先讓字母組成了 lol 的字樣,誰獲勝。如果所有格仔都填滿了,仍無法組成lol,則平局。小明試驗了幾次都輸了,他很慚愧,希望你能用計算機幫他解開這個謎。本題的輸入格式為 第一行,數字n n 10 表示下面有n個初始局面。接下來,n行,每行乙個串,...