讨论 / 麻烦大牛帮我找下问题
865213506 2013-08-11 18:15:00
点我顶贴 收藏 删除
var

a,b:array [1..2000] of integer;

n,m,u,k,i,j,d,sum:integer;

begin

read(n,m);

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

for i:=1 to m do readln(b[i]);

for i:=1 to (n-1) do

for j:=(i+1) to n do

if a[i]>a[j] then

begin

d:=a[i];

a[i]:=a[j];

a[j]:=d;

end;

for i:=1 to (m-1) do

for j:=(i+1) to m do

if b[i]>b[j] then

begin

d:=b[i];

b[i]:=b[j];

b[j]:=d;

end;

k:=1;

for i:=1 to n do

repeat

u:=0;

if (a[i]>b[k]) and (b[k]>0) then u:=1;

k:=k+i;

sum:=sum+u;

until u>0;

writeln(sum);

end.

#1 1049074333@2013-08-11 18:15:00
回复 删除
找错神马的最心烦了

type

sz=array [0..2001] of longint;

var

s,n,m,i,j:longint;

c:array [0..2001] of 0..1;

a,b:sz;

procedure kp(var a:sz;l,r:longint);

var

i,j,mid,t:longint;

begin

i:=l;

j:=r;

mid:=a[i];

repeat

while a[i]>mid do i:=i+1;

while a[j]<mid do j:=j-1;

if i<=j then

begin

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

i:=i+1;

j:=j-1;

end;

until i>j;

if i<r then kp(a,i,r);

if j>l then kp(a,l,j);

end;

begin

readln(n,m);

for i:=1 to n do

readln(a[i]);

for i:=1 to m-1 do

readln(b[i]);

read(b[m]);

kp(a,1,n);

kp(b,1,m);

for i:=1 to n do

for j:=1 to m do

if (b[j]<a[i]) and (c[j]=0) and (b[j]>0) and (a[i]>0)

then

begin

s:=s+1;

c[j]:=1;

break;

end;

write(m-s);

end.

#2 g++@2016-03-20 04:25:33
回复 删除
帮忙纠错

var

n,m,i,j,k:longint;

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

begin

readln(n,m);

for i:=1 to n do

readln(a[i]);

for i:=1 to m do

readln(b[i]);

for i:=1 to n do

for j:=1 to m do

if a[i]>b[j] then

begin

inc(k);

continue;

end;

k:=m-k;

writeln(k);

end.

查看更多回复
提交回复