題目描述
給一 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:
*******
*******
*******
*******
*******
*******
*******
題解: dfs,每次直接固定方向的搜尋。
#include
using
namespace
std;
const
int maxn=110;
int vis[maxn][maxn];
int ans[maxn][maxn];
char str=;
int n;
int dx[8]=;
int dy[8]=;
bool check(int x,int y,int k)
void print()//此處是記錄那些點是可以構成yizhong
}}void dfs(int x,int y ,int mx,int my,int k)
int kx=x+mx;
int ky=y+my;
if(check(kx,ky,k+1))
}int main() }}
}for(int i=0;ifor (int j = 0; j < n; ++j)
printf("\n");
}return0;}
/*8qyizhong
gydthkjy
nwidghji
orbzsfgz
hhgrhwth
zzzzzozo
iwdfrgng
yyyygggg
*/
P1101 單詞方陣
給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8...
P1101 單詞方陣
題目鏈結 題目描述 給一 n n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...
P1101 單詞方陣
給一 n times nn n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 88 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...