首页 > 学院 > 开发设计 > 正文

单词方阵

2019-11-08 02:32:22
字体:
来源:转载
供稿:网友
var s:string; f:array[1..8,1..2]of longint; a:array[0..100] of string; b:array[1..100,1..100]of boolean; i,j,n,m,v,k,bb,x,y,ans:longint;function check(x,y,shu:longint):boolean; var i,j:longint; begin  if (x>=1)and(x<=n)and(y>=1)and(y<=n)and(a[x,y]=s[shu]) then exit(true);  exit(false); end;PRocedure put(i,j,m:longint); var v:longint; begin  for v:=1 to 7 do  begin   b[i,j]:=true;   i:=i+f[m,1];   j:=j+f[m,2];  end; end;procedure find(i,j:longint); var m,k,x,y:longint; begin for m:=1 to 8 do  begin   x:=i; y:=j;bb:=0;   for k:=1 to 7 do    if check(x,y,k) then     begin      x:=x+f[m,1];      y:=y+f[m,2];     end     else begin bb:=1;break;end;   if (k=7)and(bb=0) then   put(i,j,m);  end; end;begin s:='yizhong'; f[1,1]:=1; f[1,2]:=0; f[2,1]:=0; f[2,2]:=1; f[3,1]:=-1; f[3,2]:=0; f[4,1]:=0; f[4,2]:=-1; f[5,1]:=1; f[5,2]:=1; f[6,1]:=1; f[6,2]:=-1; f[7,1]:=-1; f[7,2]:=1; f[8,1]:=-1; f[8,2]:=-1; fillchar(b,sizeof(b),false); read(n); for i:=0 to n do readln(a[i]); for i:=1 to n do  for j:=1 to n do  if a[i,j]='y' then   find(i,j); for i:=1 to n do begin  for j:=1 to n do  if (b[i,j]) then write(a[i,j])              else write('*');  writeln; end;end.
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表