題目描述
字元迷陣是一種經典的智力遊戲。玩家需要在給定的矩形的字元迷陣中尋找特定的單詞。
在這題的規則中,單詞是如下規定的:
在字元迷陣中選取乙個字元作為單詞的開頭;
選取右方、下方、或右下45度方向作為單詞的延伸方向;
以開頭的字元,以選定的延伸方向,把連續得到的若干字元拼接在一起,則稱為乙個單詞。
以圖1為例,如果要在其中尋找單詞"word",則綠色框所標示的都是合法的方案,而紅色框所標示的都是不合法的方案。
現在的問題是,給出乙個字元迷陣,及乙個要尋找的單詞,問能在字元迷陣中找到多少個該單詞的合法方案。注意合法方案是可以重疊的,如圖1所示的字元迷陣,其中單詞"word"的合法方案有4種。
輸入描述:
輸入的第一行為乙個正整數t,表示測試資料組數。 接下來有t組資料。每組資料的第一行包括兩個整數m和n,表示字元迷陣的行數和列數。接下來有m行,每一行為乙個長度為n的字串,按順序表示每一行之中的字元。再接下來還有一行包括乙個字串,表示要尋找的單詞。 資料範圍: 對於所有資料,都滿足1<=t<=9,且輸入的所有位於字元迷陣和單詞中的字元都為大寫字母。要尋找的單詞最短為2個字元,最長為9個字元。字元迷陣和行列數,最小為1,最多為99。 對於其中50%的資料檔案,字元迷陣的行列數更限制為最多為20。
輸出描述:
對於每一組資料,輸出一行,包含乙個整數,為在給定的字元迷陣中找到給定的單詞的合法方案數。
示例1輸入
310 10
aaaaaadrow
wordbbbbbb
occcwccccc
rffffoffff
dhhhhhrhhh
zwzvvvvdid
zozvxxdkir
zrzvxrxkio
zdzvoxxkiw
zzzw***kik
word
3 3aaa
aaaaaa
aa5 8
wordswor
ordsword
rdswords
dswordsw
swordswo
sword
輸出416
5思路:
遍歷矩陣,第乙個字元匹配到之後開始檢測以這個字元起點的三個方向的字串是否匹配即可
#include #include #include #include using namespace std;
int main()}}
}cout
zcmu Problem H 糖果迷陣
題目 time limit 1 sec memory limit 128 mb submit 88 solved 41 submit status web board inna 喜歡吃糖和遊戲糖果迷陣 今天,他推出了新遊戲 糖果迷陣 2 重新整理 遊戲由乙個 nxm的矩陣表組成。矩陣每行包含乙個帶有...
BNUOJ 4304 硬幣迷陣
這個迷陣由12個古埃及硬幣構成,形狀如下圖 當我們把所有的硬幣全都翻成正面或全都翻成反面時,我們就可以成功解開這個迷陣。但是這個迷陣有乙個小機關 當我們翻動某乙個硬幣的時候,與它同行或同列的硬幣也將同時被翻動。例如當我們翻動上圖箭頭所指的硬幣之後,迷陣的情況會變成下圖所示 現在prayer希望知道他...
ZCMU 1434 糖果迷陣
time limit 1 sec memory limit 128 mb submit 34 solved 14 submit status web board inna 喜歡吃糖和遊戲糖果迷陣 今天,他推出了新遊戲 糖果迷陣 2 重新整理 遊戲由乙個 nxm的矩陣表組成。矩陣每行包含乙個帶有侏儒的...