两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

2679 問題 H: 藍(lán)橋杯2022年第十三屆省賽真題-拉箱子

時(shí)間限制: 1s 內(nèi)存限制: 1024MB 提交: 198 解決: 56
題目描述

推箱子是一款經(jīng)典電子游戲,愛麗絲很喜歡玩,但是她有點(diǎn)玩膩了,現(xiàn)在她想設(shè)計(jì)一款拉箱子游戲。

拉箱子游戲需要玩家在一個(gè) N × M 的網(wǎng)格地圖中,控制小人上下左右移動(dòng),將箱子拉到終點(diǎn)以獲得勝利。

現(xiàn)在愛麗絲想知道,在給定地形(即所有墻的位置)的情況下,有多少種不同的可解的初始局面。

【初始局面】 的定義如下:

1、初始局面由排列成 N × M 矩形網(wǎng)格狀的各種元素組成,每個(gè)網(wǎng)格中有且只有一種元素??赡艿脑赜校嚎盏亍?、小人、箱子、終點(diǎn)。

2、初始局面中有且只有一個(gè)小人。

3、初始局面中有且只有一個(gè)箱子。

4、初始局面中有且只有一個(gè)終點(diǎn)。

【可解】 的定義如下:

通過有限次數(shù)的移動(dòng)小人(可以在移動(dòng)的同時(shí)拉箱子),箱子能夠到達(dá)終點(diǎn)所在的網(wǎng)格。 

【移動(dòng)】 的定義如下:

在一次移動(dòng)中,小人可以移動(dòng)到相鄰(上、下、左、右四種選項(xiàng))的一個(gè)網(wǎng)格中,前提是滿足以下條件:

1、小人永遠(yuǎn)不能移動(dòng)到 N × M 的網(wǎng)格外部。

2、小人永遠(yuǎn)不能移動(dòng)到墻上或是箱子上。

3、小人可以移動(dòng)到空地或是終點(diǎn)上。

【拉箱子】 的定義如下:

在一次合法移動(dòng)的同時(shí),如果小人初始所在網(wǎng)格沿小人移動(dòng)方向的反方向上的相鄰網(wǎng)格上恰好是箱子,小人可以拉動(dòng)箱子一起移動(dòng),讓箱子移動(dòng)到小人初始所在網(wǎng)格。

即使?jié)M足條件,小人也可以只移動(dòng)而不拉箱子。

輸入

第一行兩個(gè)正整數(shù) N 和 M,表示網(wǎng)格的大小。

接下來 N 行,每行 M 個(gè)由空格隔開的整數(shù) 0 或 1 描述給定的地形。其中 1 表示墻,0 表示未知的元素,未知元素可能是小人或箱子或空地或終點(diǎn),但不能是墻。 

輸出
輸出一個(gè)正整數(shù),表示可解的初始局面數(shù)量。
樣例輸入
2 4
0 0 0 0
1 1 1 0
樣例輸出
13
提示

13 種可解的初始局面示意圖如下:

人終箱空

墻墻墻空

********

人終空箱

墻墻墻空

********

人空終箱

墻墻墻空

********

箱人終空

墻墻墻空

********

空人終箱

墻墻墻空

********

箱終人空

墻墻墻空

********

空終人箱

墻墻墻空

********

箱終空人

墻墻墻空

********

箱空終人

墻墻墻空

********

空箱終人

墻墻墻空

********

箱終空空

墻墻墻人

********

箱空終空

墻墻墻人

********

空箱終空

墻墻墻人

對(duì)于 30% 的數(shù)據(jù),N, M ≤ 3.

對(duì)于 100% 的數(shù)據(jù),0 < N, M ≤ 10.

比賽公告

第十三屆藍(lán)橋杯大賽軟件賽省賽 Java 大學(xué) B 組
C題

字符統(tǒng)計(jì)

D題

最少刷題數(shù)

E題

求階乘

F題

最大子矩陣

G題

數(shù)組切分

H題

回憶迷宮

I題

紅綠燈

J題

拉箱子

注意事項(xiàng):

1. 不要使用 package 語(yǔ)句。

2. 選手代碼的主類名必須為:Main,否則會(huì)被判為無效代碼。

3. 如果程序中引用了類庫(kù),在提交時(shí)必須將 import 語(yǔ)句與程序的其他部分同時(shí)提交。

4. 只允許使用 Java 自帶的類庫(kù)。

5. 提交時(shí),注意選擇使用Java語(yǔ)言。


本比賽結(jié)束依舊可以訓(xùn)練,見題集2022年第十三屆藍(lán)橋杯大賽軟件類省賽Java大學(xué)B組真題