range.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 41 行

PAS
41
字号
{
ID:maigoak1
PROG:range
}

program range;
const
  maxn=250;
var
  fin,fout:text;
  map:array[1..maxn,1..maxn]of boolean;
  n,size,i,j,count:longint;
  c:char;
begin
  assign(fin,'range.in');
  reset(fin);
  readln(fin,n);
  for i:=1 to n do begin
    for j:=1 to n do begin
      read(fin,c);
      if c='1' then map[i,j]:=true else map[i,j]:=false;
    end;
    readln(fin);
  end;
  close(fin);

  assign(fout,'range.out');
  rewrite(fout);
  for size:=2 to n do begin
    count:=0;
    for i:=1 to n+1-size do
      for j:=1 to n+1-size do begin
        map[i,j]:=map[i,j] and map[i,j+1] and map[i+1,j] and map[i+1,j+1];
        if map[i,j] then inc(count);
      end;
    if count>0 then writeln(fout,size,' ',count);
    if count<4 then break;
  end;
  close(fout);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?