給一nxn的字母方陣,內可能蘊含多個「yizhong」單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著8個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間[color=red]可以[/color]交叉,因此有可能共用字母。輸出時,將不是單詞的字母用「*」代替,以突出顯示單詞。例如:
輸入:
8 輸出:
qyizhong *yizhong
gydthkjy gy******
nwidghji n*i*****
orbzsfgz o**z****
hhgrhwth h***h***
zzzzzozo z****o**
iwdfrgng i*****n*
yyyygggg y******g
輸入格式:
第一行輸入乙個數n。(7<=n<=100)。
第二行開始輸入nxn的字母矩陣。
輸出格式:
突出顯示單詞的nxn矩陣。
輸入樣例#1:
7aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
aaaaaaa
constc:array[1..7]of char=('y','i','z','h','o','n','g');
ss:array[1..8]of longint=(-1,-1,-1,0,0,1,1,1);
sss:array[1..8]of longint=(-1,0,1,-1,1,-1,0,1);
var a:array[0..101,0..101]of char;
b:array[0..101,0..101]of boolean;
i,j,k,n,m:longint;
s:ansistring;
p:boolean;
procedure init;
var i,j,k:longint;
begin
readln(n);
for i:=1 to n do
begin
readln(s);
for j:=1 to n do
a[i,j]:=s[j];
end;
end;
function aa(k,l,r,t:longint):boolean;
var x,i,j:longint;
p:boolean;
begin
p:=false;
if k>7 then exit(true);
if a[l,r]<>c[k] then exit(false);
if k=1 then
begin
for x:=1 to 8 do
begin
i:=l+ss[x];
j:=r+sss[x];
if aa(k+1,i,j,x) then begin b[l,r]:=true;p:=true; end;
end;
endelse
begin
i:=l+ss[t];
j:=r+sss[t];
if aa(k+1,i,j,t) then begin b[l,r]:=true;p:=true; end;
end;
if p then exit(true) else exit(false);
end;
begin
init;
for i:=1 to n do
for j:=1 to n do
begin
if (b[i,j]) then continue;
if (not(aa(1,i,j,0))) then b[i,j]:=false
else b[i,j]:=true;
end;
for i:=1 to n do
for j:=1 to n do
if not(b[i,j]) then a[i,j]:='*';
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]);
writeln;
end;
end.
輸出樣例#1:
**************
*******
*******
*******
*******
*******
P1101 單詞方陣
題目鏈結 題目描述 給一 n n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 8 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...
P1101 單詞方陣
給一 n times nn n 的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 88 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 ...
P1101 單詞方陣
題目描述 給一n n的字母方陣,內可能蘊含多個 yizhong 單詞。單詞在方陣中是沿著同一方向連續擺放的。擺放可沿著 88 個方向的任一方向,同一單詞擺放時不再改變方向,單詞與單詞之間可以交叉,因此有可能共用字母。輸出時,將不是單詞的字母用 代替,以突出顯示單詞。例如 輸入 8 輸出 qyizho...