回 帖 发 新 帖 刷新版面

主题:ZJU2136

在电脑上运行成功,但传上去Compile Error,请教各位高手是什么原因?


const
  maxn=1000;
  nfin='2136.in';
  nfout='2136.out';
var
  i,n,num:integer;
  anss,answer:array[1..maxn]of integer;
  fin,fout:text;
procedure readdata;
var
  i:integer;
begin
  readln(n);
  for i:=1 to n do
    read(anss[i]);
  readln(fin);
end;
function findans(index:integer):integer;
var
  tmp,k:integer;
begin
  tmp:=1;
  for k:=1 to index-1 do
    if anss[index]>anss[k] then
      if answer[k]>tmp-1 then tmp:=answer[k]+1;
  findans:=tmp;
end;
procedure play;
var
  i,j:integer;
begin
  j:=0;
  fillchar(answer,sizeof(answer),0);
  for i:=1 to n do
    answer[i]:=findans(i);
  for i:=1 to n do
    if answer[i]>j then j:=answer[i];
end;
procedure writeans;
var
  i,max:integer;
begin
  for i:=1 to n do
    if answer[i]>max then max:=answer[i];
  writeln(max);
end;
begin
  readln(num);
  for i:=1 to num do begin
    readdata;
    play;
    writeans;
    end;
end.

回复列表 (共1个回复)

沙发

在电脑上运行成功,但传上去Compile Error,请教各位高手是什么原因?


const
  maxn=1000;
  nfin='2136.in';
  nfout='2136.out';
var
  i,n,num:integer;
  anss,answer:array[1..maxn]of integer;
  fin,fout:text;
procedure readdata;
var
  i:integer;
begin
  readln(n);
  for i:=1 to n do
    read(anss[i]);
  readln(fin);
end;
function findans(index:integer):integer;
var
  tmp,k:integer;
begin
  tmp:=1;
  for k:=1 to index-1 do
    if anss[index]>anss[k] then
      if answer[k]>tmp-1 then tmp:=answer[k]+1;
  findans:=tmp;
end;
procedure play;
var
  i,j:integer;
begin
  j:=0;
  fillchar(answer,sizeof(answer),0);
  for i:=1 to n do
    answer[i]:=findans(i);
  for i:=1 to n do
    if answer[i]>j then j:=answer[i];
end;
procedure writeans;
var
  i,max:integer;
begin
  for i:=1 to n do
    if answer[i]>max then max:=answer[i];
  writeln(max);
end;
begin
  readln(num);
  for i:=1 to num do begin
    readdata;
    play;
    writeans;
    end;
end.


可以运行啊!!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册