HDu 2074重ね枠

1013 ワード

問題は難しくないが、答えは理解しにくい.このようなフォーマットを出力するのは難しくありませんが、PE、WAができます.問題は4つの角がスペースなのか終端なのかを説明していないので、各例に間隔があるのではないでしょうか.
      1. 4つの角はすべてスペースです
      2.各例には次の例が現れるまでスペースがありません.
var
  n,m,i,j,f:longint;
  c,x,y,w:char;
  a:array[1..80,1..80] of char;
begin
  f:=0;
  while not eof do
  begin
    if f=1
      then writeln
      else f:=1;
    read(n);
    read(c);
    read(x);
    read(c);
    readln(y);
    a[n div 2+1,n div 2+1]:=x;
    i:=1;
    m:=n div 2+1;
    w:=x;
    while i<=n div 2 do
    begin
      if w=x
        then w:=y
        else w:=x;
      for j:=m-i to m+i do
      begin
        a[m-i,j]:=w;
        a[m+i,j]:=w;
        a[j,m-i]:=w;
        a[j,m+i]:=w;
      end;
      inc(i);
    end;
    a[1,1]:=' ';
    a[1,n]:=' ';
    a[n,1]:=' ';
    a[n,n]:=' ';
    if n=1 then a[1,1]:=x;
    for i:=1 to n do
      for j:=1 to n do
        if j<n
          then write(a[i,j])
          else writeln(a[i,j]);
  end;
end.