網易雷火筆試 開心消消樂 沒做出來

2021-10-08 18:51:18 字數 1068 閱讀 9697

大家都玩過開心消消樂吧:有-個m行,n列的棋盤,棋盤每個格仔中擺有乙個顏色的水果。

一共有9種不同顏色的水果(用數字1-9分別標識)。當玩家進行一次操作改變棋盤上水果的

布局之後,棋盤上的水果將會按以下規則重新排列:

第一步:同一行或者同一列上有3個或以上緊鄰的相同顏色的水果,則會消除,並且消除位

置的棋盤記為空缺位。(本步驟是一 次性消除, 如有:

112112

222則會一次性消除橫方向和豎方向,結果是: 

110110

000第二步:如果棋盤的空缺位上方有水果,則該水果向下方掉落填充到空缺位。並且該水果原

來的位置變成空缺位置,然後再次檢查是否有滿足第一步和第二步的水果, 有則重複第一步

或第二步,沒有則棋盤處於穩定狀態。

我們現在的遊戲設計師希望對這個消消樂遊戲增加一些干預,加入第三步:

先準備乙個替補水果佇列q,對第二步之後處於穩定狀態的棋盤進行檢查,從最下最左開始,

往右檢查是否有空缺位,有則從q的最前面取出一乙個水果放入,沒有則往上一行從左至右檢

查,直到棋盤被放滿,或者q用完為空為止,此時再進行第一步到第 三步的流程,- 直到棋

盤處於穩定狀態為止。

如4*6的初始棋盤,有9種不同顏色的水果,用數字表示顏色,地圖表示為:

123456

227891

322891

332111

進行消除後,空缺位用0表示,處於穩定狀態的棋盤為:

103000

207450

302890

332896

替補水果佇列q:1,2,3.4.,5,6}後,棋盤為:

237454

312892

332896

輸入描述:

假設3<=m<=30,3<=n<=30

輸入為字串拼接內容:

m n棋盤從左到右第一-行至最後- -行的顏色對應數字替補水果佇列

輸出描述:

輸出最後穩定狀態的第一行(棋盤頂部)從左到右的顏色

輸入4 6 123456227891322891332111 123456

輸出

網易雷火筆試 優先佇列 heapq 堆

豬場周邊商場有n種不同的商品,第i種商品有g i件。現在需要組織一次買福袋的活動,每個福袋恰好有k件不同種類的商品,求最多能組成多少個福袋。輸入描述 第一行為2個正整數,表示商場共有n種不同商品,每個額福袋需要k種不同商品 第二行為n個正整數,表示商場每種商品的件數。輸出描述 福袋個數利用了優先佇列...

網易雷火筆試 印表機(區間dp

有一台神奇的印表機,可列印的字母範圍大寫a z,每次只能從紙帶上的任意位置開始列印同一字母任意次數,並且可以覆蓋之前同一位置上已經列印上的字母。給定乙個目標字串,問最少需要列印多少次才能列印出給定字串。例如,目標為abcba,先列印aaaaa,再列印bbb,再列印c,所以答案為3。分析 沒什麼難的,...

3月29日 網易雷火筆試(人生第一次筆試)記錄

優化思路 用3個map,map1記錄s1 現過的字元的次數,s1中沒出現,s2 現的,這裡記0。map2記錄s2 現過的字元的次數,s2中沒出現,s1 現的,這裡記0。map3先將s1 s2中所有出現過字元的次數為0,然後逐個匹配使得map3 map1 map2。之後就是dp,3個map不斷迭代即可...