luogu P1101 單詞方陣

2021-09-27 04:11:57 字數 1945 閱讀 4181

給一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...