讨论 / 怎么错了?请神牛看看!
lijiaming12340 2010-10-30 07:37:00
点我顶贴 收藏 删除
program ss;

var a,b:array[1..100000] of longint;

i,j,k,m,n,s,t,ans:longint;

procedure sudu1(l,r:longint);

var i,j,s,t:longint;

begin

if l<r then begin

i:=l; j:=r; t:=a[i];

while i<j do

begin

while (i<j) and (t>a[j]) do j:=j-1;

if i<j then begin a[i]:=a[j]; i:=i+1; end;

while (i<j) and (t<=a[i]) do i:=i+1;

if i<j then begin a[j]:=a[i]; j:=j-1; end;

end;

a[i]:=t;

sudu1(l,j-1); sudu1(i+1,r);

end;

end;

procedure sudu2(l,r:longint);

var i,j,s,t:longint;

begin

if l<r then begin

i:=l; j:=r; t:=b[i];

while i<j do

begin

while (i<j) and (t>b[j]) do j:=j-1;

if i<j then begin b[i]:=b[j]; i:=i+1; end;

while (i<j) and (t<=b[i]) do i:=i+1;

if i<j then begin b[j]:=b[i]; j:=j-1; end;

end;

b[i]:=t;

sudu2(l,j-1); sudu2(i+1,r);

end;

end;

begin

read(n);

while n<>0 do

begin

ans:=0;

for i:=1 to n do read(a[i]);

for i:=1 to n do read(b[i]);

sudu1(1,n); sudu2(1,n);

i:=1; j:=1;

while (i<=n) and (j<=n) do

begin

if a[i]>b[j] then begin ans:=ans+200; i:=i+1; j:=j+1; end

else if a[i]=b[j] then begin i:=i+1; j:=j+1; end

else if a[i]<b[j] then begin ans:=ans-200; j:=j+1; end;

end;

writeln(ans);

read(n);

end;

end.

查看更多回复
提交回复