讨论 / 为什么我这样会WA50?
li20082008li 2012-06-19 21:23:00
点我顶贴 收藏 删除
program ex127;

var

a:array[1..30000] of integer;

w,n,m,i,j,s,p,q:longint;

bo:boolean;

begin

readln(w);

readln(n);

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

i:=1;

repeat

bo:=true;

for j:=1 to n-i do

if a[j]<a[j+1] then

begin

s:=a[j]; a[j]:=a[j+1]; a[j+1]:=s; bo:=false;

end;

inc(i);

until bo;

s:=0;

p:=n;

q:=1;

while p>=q do

begin

s:=a[p]+a[q];

if s>w then begin inc(q); inc(m);end

else begin inc(q); dec(p); inc(m);end;

end;

write(m);

end.

哪位大牛帮我看一下,我用的是冒泡排序的改进法(标记法),写得不好还请见谅~

查看更多回复
提交回复