2023年藍橋杯java B組 填字母遊戲

2021-09-23 07:47:46 字數 2579 閱讀 8295

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

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

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

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

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

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-1

11資源約定:

峰值記憶體消耗 < 256m

cpu消耗 < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意:不要使用package語句。不要使用jdk1.7及以上版本的特性。

注意:主類的名字必須是:main,否則按無效**處理。

我的答案:差點ac,過了百分之八十的資料,但不想debug了,應該是某個細節沒注意好,但是競賽的時候沒時間十全十美的

思路:博弈,敵方失敗就是己方勝利,再用hashmap減少時間複雜度

class

main_05

}static string temp;

static

int index;

static

intadv()

} a=f(

);str=temp.

substring

(index+1)

;int b,num2=0;

for(

int i=

0;ilength()

;i++)}

b=f(

);return

pd(a,b,num1,num2);}

returnf(

);}private

static

intpd

(int a,

int b,

int num1,

int num2)

private

static

intf()

if(!str.

contains

("*"))

if((str.

startswith

("l***")&&

!str.

substring(1

).contains

("o")&&

!str.

substring(1

).contains

("l"))

||(str.

endswith

("***l")&&

!str.

substring(0

,str.

length()

-1).

contains

("o")&&

!str.

substring(0

,str.

length()

-1).

contains

("l"))

)return

(str.

length()

%2==0

)?1:

-1;int res=-1

;for

(int i=

0;ilength()

;i++

) stringbuffer sb=

newstringbuffer

(str)

; str=sb.

replace

(i, i+1,

"l")

.tostring()

;if(map.

containskey

(str)

)else

if(res==1)

str=sb.

replace

(i, i+1,

"o")

.tostring()

;if(map.

containskey

(str)

)else

if(res==1)

str=sb.

replace

(i, i+1,

"*")

.tostring()

;}return res;

}}

2023年藍橋杯javaB組 等差素數列

題目 2,3,5,7,11,13,是素數序列。類似 7,37,67,97,127,157 這樣完全由素數組成的等差數列,叫等差素數數列。上邊的數列公差為30,長度為6。2004年,格林與華人陶哲軒合作證明了 存在任意長度的素數等差數列。這是數論領域一項驚人的成果!長度為10的等差素數列,其公差最小值...

藍橋杯Java B組之方格填數

方格填數 如下的10個格仔 如果顯示有問題,也可以參看 圖1.jpg 填入0 9的數字。要求 連續的兩個數字不能相鄰。左右 上下 對角都算相鄰 一共有多少種可能的填數方案?請填寫表示方案數目的整數。注意 你提交的應該是乙個整數,不要填寫任何多餘的內容或說明性文字。public class main ...

2017a組藍橋杯

2,3,5,7,11,13,是素數序列。類似 7,37,67,97,127,157 這樣完全由素數組成的等差數列,叫等差素數數列。上邊的數列公差為30,長度為6。2004年,格林與華人陶哲軒合作證明了 存在任意長度的素數等差數列。這是數論領域一項驚人的成果!有這一理論為基礎,請你借助手中的計算機,滿...