給一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: 複製
7aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
輸出樣例#1: 複製
**************
*******
*******
*******
*******
*******
輸入樣例#2: 複製
8qyizhong
gydthkjy
nwidghji
orbzsfgz
hhgrhwth
zzzzzozo
iwdfrgng
yyyygggg
輸出樣例#2: 複製
*yizhonggy******
n*i*****
o**z****
h***h***
z****o**
i*****n*
y******g
#includeusingnamespace
std;
//input by bxd
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define repp(i,a,b) for(int i=(a);i>=(b);i--)
#define ri(n) scanf("%d",&(n))
#define rii(n,m) scanf("%d%d",&n,&m)
#define riii(n,m,k) scanf("%d%d%d",&n,&m,&k)
#define rs(s) scanf("%s",s);
#define ll long long
#define pb push_back
#define fi first
#define rep(i,n) for(int i=0;i<(n);i++)
#define clr(a,v) memset(a,v,sizeof a)
/////////////////////////////////
//#define inf 0x3f3f3f3f
#define n 1000
intn;
char
mp[n][n];
char str[8]="
yizhong";
intvis[n][n];
int dx[8]=;
int dy[8]=;
void dfs(int x,int y,int
k) }
if(ok)
vis[x][y]=1
; }
}int
main()
return0;
}
P1101 單詞方陣(DFS清晰)
題目描述 給一n n的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 qyizhon...
P1101 單詞方陣
給一nxn的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間 color red 可以 color 交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8...
P1101 單詞方陣
題目鏈結 題目描述 給一 n n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...