P1101 單詞方陣

2021-08-25 02:40:58 字數 1618 閱讀 8367

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

輸入:

8 輸出:

qyizhong *yizhong

gydthkjy gy******

nwidghji n*i*****

orbzsfgz o**z****

hhgrhwth h***h***

zzzzzozo z****o**

iwdfrgng i*****n*

yyyygggg y******g

輸入格式:

第一行輸入乙個數 nn 。( 7 \le n \le 1007≤n≤100 )。

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

輸出格式:

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

輸入樣例#1:複製

7

aaaaaaa

aaaaaaa

aaaaaaa

aaaaaaa

aaaaaaa

aaaaaaa

aaaaaaa

輸出樣例#1:複製

*******

*******

*******

*******

*******

*******

*******

其實我覺得這題暴力遍歷就好了,不過那樣寫太長,就根據大佬的思路寫了一邊

#includeusing namespace std;

int n,use[101][101];

int next[8][2]=,,,,,,,};

string table = "izhong";

char c[101][101] = ;

void ranse(int x, int y, int step, int r)

void dfs(int x, int y, int step, int r)

int dx,dy;

dx = x + next[r][0];

dy = y + next[r][1];

if(c[dx][dy] != table[step])return;

dfs(dx,dy,step+1,r);

}int main()

} for(int i = 0; i < n; i ++)

} }for(int i = 0; i < n; i ++)

cout << endl;

} return 0;

}

P1101 單詞方陣

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

P1101 單詞方陣

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

P1101 單詞方陣

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