P1101 單詞方陣 題解

2021-10-02 04:46:15 字數 1318 閱讀 7798

洛谷 p1101 單詞方陣

題目描述:

給一n×n的字母方陣,內可能蘊含多個「yizhong」單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 *代替,以突出顯示單詞。

輸入:

第一行輸入乙個數n。(7≤n≤100)。

第二行開始輸入n×n的字母矩陣。

輸出:

突出顯示單詞的n×n矩陣。

例如:

;//定義八個方向

int dy=

;int n;

//定義方陣的大小

char s[maxn]

[maxn]

;//儲存方陣

int vis[maxn]

[maxn]

;//記錄是否可以組成yizhong,是的話為1,反之為0

string a=

"yizhong"

;int

dfs(

int x,

int y,

int t,

int k)

int xx=x+dx[k]

;int yy=y+dy[k];if

(xx>=

1&&yy>=

1&&xx<=n&&yy<=n&&s[xx]

[yy]

==a[t+1]

)//判定條件

}else

//不符合判定條件,說明這條路行不通

return0;

}int

main()

}for

(int i=

1;i<=n;i++

)return0;

}感覺自己還是太菜了,題目不難,就是卡了好長時

P1101 單詞方陣

給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8...

P1101 單詞方陣

題目鏈結 題目描述 給一 n n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...

P1101 單詞方陣

給一 n times nn n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 88 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...