optik's blog

By optik, 13 years ago, In Russian

Тестирующая система выдает ошибку Runtime после вывода правильного ответа, хотя после вывода ответа ни каких вычислений нет. На своем компьютере программа работает правильно. Вот код(Задача "фарфор" из #105):
program Project2;


{$APPTYPE CONSOLE}


{$R *.res}
var
n,m,i,j,v,s,maxx:integer;
p:array of array of integer;
b:array of array of boolean;

procedure rec(ii,u:integer);
var
i1,j1:integer;
begin
inc(v);
b[ii,u]:=false;
s:=s+p[ii,u];
if v<>m then begin
for j1 := 1 to n do begin
for i1 := 1 to p[j1,0] do if b[j1,i1]=true then begin rec(j1,i1); end;
for i1 := p[j1,0] downto 1 do if b[j1,i1]=true then begin rec(j1,i1); end;
end;
end else
if maxx<s then maxx:=s;
s:=s-p[ii,u];
b[ii,u]:=true;
dec(v);
end;


begin
readln(n,m);
setlength(p,n+1,100);
setlength(b,n+1,100);
for i := 1 to n do
for j := 1 to 100 do
b[i,j]:=true;
for i := 1 to n do begin
read(p[i,0]);
for j := 1 to p[i,0] do
read(p[i,j]);
end;
v:=0;
s:=0;
maxx:=0;
for i := 1 to n do begin
for j := 1 to p[i,0] do if b[i,j] then
begin rec(i,j); end;
for j := p[i,0] downto 1 do if b[i,j] then
begin rec(i,j); end;
end;
writeln(maxx);
end. Заранее спасибо.

  • Vote: I like it
  • -20
  • Vote: I do not like it