寫過迷宮搜尋,這道題也是很容易上手,寫完才發現沒讀完題,每次都是乙個方向搜。。。。寫完搜尋我還納悶自己又寫錯了,結果發現只能乙個方向走到頭,這樣的話這道題迴圈做也是可以的,都不需要dfs了,不過寫一寫算熟悉了。
剛開始寫搜尋函式時,我乙個乙個字母的判斷,後來才發現自己太蠢,用陣列判斷即可,以後一定不會這樣了。
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
char map[
105]
[105];
int n;
int vis[
105]
[105];
//記錄訪問過的點
int token[
105]
[105];
//記錄符合條件的點
int xx=
;//上下左右,左上,右上,左下右下
int yy=
;string yz =
"yizhong"
;struct point
;point p[10]
;void
dfs(
int x,
int y,
int t,
int dir)
return;}
int dx = x + xx[dir]
;int dy = y + yy[dir];if
(dx >
0&& dx <= n && dy >
0&& dy <= n &&
!vis[dx]
[dy])}
intmain()
}for
(int i =
1; i <= n; i++)}
}}for(
int i =
1; i <= n; i++
) cout << map[i]
[j];
} cout << endl;
}return0;
}
洛谷P1101單詞方陣
整體的思路 在矩陣中找到 y 然後對 y 進行八個方向的搜尋 用cmp陣列存 yizhong 在每乙個方向中和cmp進行比較,若存在任意乙個不同,則處理下乙個方向。include includeusing namespace std const int dx 方向陣列 const int dy co...
洛谷 P1101 單詞方陣
題目描述 給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如...
洛谷P1101 單詞方陣
給一n times nn n的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 88 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 qy...