題目描述
給一n×n的字母方陣,內可能蘊含多個「yizhong」單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用*代替,以突出顯示單詞。例如:
輸入:
8 輸出:
qyizhong *yizhong
gydthkjy gy***
*** nwidghji n*i***
**orbzsfgz o*
*z****
hhgrhwth h*
**h***
zzzzzozo z***
*o**
iwdfrgng i***
**n*
yyyygggg y***
***g輸入格式
第一行輸入乙個數n。(1007≤n≤100)。
第二行開始輸入nn×n的字母矩陣。
輸出格式
突出顯示單詞的n×n矩陣。
輸入輸出樣例
輸入 7
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
輸出 ***
****
****
****
****
****
****
****
****
****
****
****
**輸入 8
qyizhong
gydthkjy
nwidghji
orbzsfgz
hhgrhwth
zzzzzozo
iwdfrgng
yyyygggg
輸出 *yizhong
gy****
**n*i***
**o**z***
*h***h***
z****o**i*
****n*y**
****g
#include
#include
#include
using
namespace std;
const
int maxn =
110;
const
int dx=
;//方向陣列
const
int dy=
;string str =
"yizhong"
;// 比較陣列
char a[maxn]
[maxn]
;bool ans[maxn]
[maxn]
;int n;
void
dfs(
int x,
int y)
if(str[j]
!= a[nx]
[ny])}
if(flag ==0)
continue
;//不符合列舉下個方向
for(
int j =
0;j <=
6;j++)}
}int
main()
}for
(int i =
1;i <= n;i++)}
for(
int i =
1;i <= n;i++
) cout << endl;
}return0;
}
P1101 單詞方陣 簡單dfs
給一n times nn n的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 88 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 qy...
P1101 單詞方陣
給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8...
P1101 單詞方陣
題目鏈結 題目描述 給一 n n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...