Program abc;
const
Width = 78;
Height = 25;
WALL = 1;
FLOOR = 0;
var
x,y:Integer;
map : array [0 .. Width , 0 .. Height] of Integer;
Type
map_gen = array[0..Width,0..Height] of Integer;
////////////////////////////////////////////////////////////////////////////////
Function floodfill(x,y,old_color,new_color:Integer; map : map_gen) : Integer;
var
x2,y2:Integer;
begin
if (x < 0) or (y < 0) or (x > Width) or (y > Height) then Exit();
if map[x,y] <> old_color then Exit();
map[x,y] := new_color;
for x2 := -1 to 1 do
begin
for y2 := -1 to 1 do
begin
floodfill(x + x2,y + y2,old_color,new_color,map);
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////
begin
for x := 0 to Width do
for y := 0 to Height do
map[x,y] := FLOOR;
map[10,10] := WALL;
map[10,11] := WALL;
map[10,9] := WALL;
map[11,9] := WALL;
map[11,11] := WALL;
map[12,9] := WALL;
map[12,10] := WALL;
map[12,11] := WALL;
floodfill(5,5,FLOOR,WALL,map);
for y := 0 to Height do
begin
writeln();
for x := 0 to Width do
begin
Write(map[x,y]);
end;
end;
readln();
end.
ICAgIFByb2dyYW0gYWJjOwogICAgIAogICAgY29uc3QKICAgICAgIFdpZHRoID0gNzg7CiAgICAgICBIZWlnaHQgPSAyNTsKICAgICAgIFdBTEwgPSAxOwogICAgICAgRkxPT1IgPSAwOwogICAgIAogICAgdmFyCiAgICAgICB4LHk6SW50ZWdlcjsKICAgICAgIG1hcCA6IGFycmF5IFswIC4uIFdpZHRoICwgMCAuLiBIZWlnaHRdIG9mIEludGVnZXI7CiAgICAgCiAgICBUeXBlCiAgICAgICBtYXBfZ2VuID0gYXJyYXlbMC4uV2lkdGgsMC4uSGVpZ2h0XSBvZiBJbnRlZ2VyOwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIEZ1bmN0aW9uIGZsb29kZmlsbCh4LHksb2xkX2NvbG9yLG5ld19jb2xvcjpJbnRlZ2VyOyBtYXAgOiBtYXBfZ2VuKSA6IEludGVnZXI7CiAgICB2YXIKICAgICAgIHgyLHkyOkludGVnZXI7CiAgICBiZWdpbgogICAgICAgaWYgKHggPCAwKSBvciAoeSA8IDApIG9yICh4ID4gV2lkdGgpIG9yICh5ID4gSGVpZ2h0KSB0aGVuIEV4aXQoKTsKICAgICAgIGlmIG1hcFt4LHldIDw+IG9sZF9jb2xvciB0aGVuIEV4aXQoKTsKICAgICAgIG1hcFt4LHldIDo9IG5ld19jb2xvcjsKICAgICAgIGZvciB4MiA6PSAtMSB0byAxIGRvCiAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgZm9yIHkyIDo9IC0xIHRvIDEgZG8KICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICBmbG9vZGZpbGwoeCArIHgyLHkgKyB5MixvbGRfY29sb3IsbmV3X2NvbG9yLG1hcCk7CiAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICBlbmQ7CiAgICBlbmQ7CiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgYmVnaW4KICAgICAgIGZvciB4IDo9IDAgdG8gV2lkdGggZG8KICAgICAgICAgIGZvciB5IDo9IDAgdG8gSGVpZ2h0IGRvCiAgICAgICAgICAgICBtYXBbeCx5XSA6PSBGTE9PUjsKICAgICAKICAgICAgIG1hcFsxMCwxMF0gOj0gV0FMTDsKICAgICAgIG1hcFsxMCwxMV0gOj0gV0FMTDsKICAgICAgIG1hcFsxMCw5XSA6PSBXQUxMOwogICAgICAgbWFwWzExLDldIDo9IFdBTEw7CiAgICAgICBtYXBbMTEsMTFdIDo9IFdBTEw7CiAgICAgICBtYXBbMTIsOV0gOj0gV0FMTDsKICAgICAgIG1hcFsxMiwxMF0gOj0gV0FMTDsKICAgICAgIG1hcFsxMiwxMV0gOj0gV0FMTDsKICAgICAKICAgICAgIGZsb29kZmlsbCg1LDUsRkxPT1IsV0FMTCxtYXApOwogICAgIAogICAgICAgZm9yIHkgOj0gMCB0byBIZWlnaHQgZG8KICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICB3cml0ZWxuKCk7CiAgICAgICAgICAgICBmb3IgeCA6PSAwIHRvIFdpZHRoIGRvCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgV3JpdGUobWFwW3gseV0pOwogICAgICAgICAgICAgICAgZW5kOwogICAgICAgICAgZW5kOwogICAgcmVhZGxuKCk7CiAgICBlbmQuCg==