program d718;
type nodep=^node;
node=record
data:longint;
next:nodep;
end;
var n,i,j,k,tn,x:longint;
c,c1:char;
head,tail:nodep;
belong:array[0..1000000]of longint;
team:array[0..1000]of nodep;
procedure enqueue(x:longint);
var p,q:nodep;
begin
new(q);
q^.data:=x;
if (team[belong[x]]<>nil) then
begin
p:=team[belong[x]];
q^.next:=p^.next;
p^.next:=q;
if (p=tail) then tail:=q;
end
else begin
tail^.next:=q;
tail:=q;
q^.next:=nil;
end;
if (belong[x]>0) then team[belong[x]]:=q;
end;
procedure dequeue;
var p:nodep;
f:boolean;
begin
p:=head^.next;
if (p<>nil) then
begin
f:=false;
if (p^.next=nil) then f:=true
else if belong[p^.data]<>belong[p^.next^.data] then f:=true;
if f then team[belong[p^.data]]:=nil;
writeln(p^.data);
head^.next:=p^.next;
if (p=tail) then tail:=head;
dispose(p);
end;
end;
begin
k:=0;
new(head);
while not eof do
begin
head^.next:=nil; tail:=head;
fillchar(team,sizeof(team),0);
fillchar(belong,sizeof(belong),0);
readln(n);
for i:=1 to n do
begin
read(tn);
for j:=1 to tn do
begin read(x); belong[x]:=i; end;
readln;
end;
inc(k);
writeln('Line #',k);
read(c);
while (true) do
begin
case c of
'S': break;
'E': begin for i:=1 to 6 do read(c1);
readln(x); enqueue(x); end;
'D': begin readln; dequeue(); end;
end;
read(c);
end;
readln;
end;
end.
——————————————————————————
本題目共 4 個測試點,您的程式共通過 3 個測試點。(score:75)
獲得部分分數 75 分。
錯誤訊息如下:
*** 第 1 點 (25%):AC (12ms, 4.6MB)
*** 第 2 點 (25%):RE (WEXITSTATUS)
執行時發生錯誤,PASCAL 代碼(code:106)
*** 第 3 點 (25%):AC (92ms, 5.7MB)
*** 第 4 點 (25%):AC (104ms, 5.7MB)
——————————————————————————————
第二组测资有何不同? 请高人指出,先在此谢过