給一n ×n
n \times n
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
第一行輸入乙個數nnn。(7≤n≤100)。
第二行開始輸入n×n
n \times n
n×n的字母矩陣。
突出顯示單詞的n×n
n \times 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;
int n;
string c=
"yizhong"
;char a[
101]
[101
],res[
101]
[101];
int next[8]
[2]=
,,,,
,,,}
;//方向陣列,全域性變數
void
dfs(
int x,
int y)
if(c[j]
!=a[nx]
[ny]
)//檢查對應位置上的字母}if
(b==0)
//如果此方向沒找到該字串,則繼續尋找其他方向
continue
;for
(int j=
0; j<=
6; j++)}
return;}
intmain()
printf
("\n");
}return0;
}
Luogu P1101 單詞方陣
給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8...
P1101 單詞方陣
給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8...
洛谷 1101 單詞方陣
給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8...