ac1200.pas

来自「这是在网络上搜集到的在东京大学的ACM上面解决的一些题目的源码」· PAS 代码 · 共 32 行

PAS
32
字号
program tju1200;
const
  maxn=1000;
var
  x,y:array[1..maxn]of longint;
  w:array[1..maxn]of shortint;
  v:array[1..maxn]of boolean;
  n,i,best:longint;
function subtree(a:word):longint;
  var
    i,t:longint;
  begin
    subtree:=w[a];v[a]:=true;
    for i:=1 to n do
      if not v[i] and (abs(x[a]-x[i])+abs(y[a]-y[i])=1) then begin
        t:=subtree(i);
        if t>0 then inc(subtree,t);
      end;
    if subtree>best then best:=subtree;
  end;
begin
  repeat
    fillchar(v,sizeof(v),0);
    read(n);
    for i:=1 to n do
      read(x[i],y[i],w[i]);
    best:=-maxlongint;
    i:=subtree(1);
    writeln(best);
  until seekeof;
end.

⌨️ 快捷键说明

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