bigbrn.pas

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

PAS
50
字号
{
ID:maigoak1
PROG:bigbrn
}

program bigbrn;
const
  maxn=1000;
var
  fin,fout:text;
  tree:array[1..maxn,1..maxn]of boolean;
  size:array[1..maxn,1..maxn]of integer;
  n,t,max,i,x,y,a,b:integer;
begin
  fillchar(tree,sizeof(tree),0);
  assign(fin,'bigbrn.in');
  reset(fin);
  readln(fin,n,t);
  for i:=1 to t do begin
    readln(fin,x,y);
    tree[x,y]:=true;
  end;
  close(fin);

  for i:=1 to n do begin
    if tree[1,i] then size[1,i]:=0 else size[1,i]:=1;
    if tree[i,1] then size[i,1]:=0 else size[i,1]:=1;
  end;

  max:=1;
  for x:=2 to n do
    for y:=2 to n do begin
      if tree[x,y] then
        size[x,y]:=0
      else begin
        a:=size[x,y-1];b:=size[x-1,y];
        if a=b then
          if tree[x-a,y-a] then size[x,y]:=a else size[x,y]:=a+1
        else
          if a<b then size[x,y]:=a+1 else size[x,y]:=b+1
      end;
      if size[x,y]>max then max:=size[x,y];
    end;

  assign(fout,'bigbrn.out');
  rewrite(fout);
  writeln(fout,max);
  close(fout);
end.

⌨️ 快捷键说明

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