花生采摘
2017-02-19 10:04
225 查看
var
num,h,s:array[1..1000]of longint;
i,j,n,t,m,k,sum,ans,x,y:longint;
begin
read(n,m,k);
for i:=1 to n do
for j:=1 to m do
begin
read(x);
if x<>0 then
begin
inc(sum);
num[sum]:=x;
h[sum]:=i;
s[sum]:=j;
end;
end;
for i:=1 to sum-1 do
for j:=i+1 to sum do
if num[i]<num[j] then
begin
t:=num[i]; num[i]:=num[j]; num[j]:=t;
t:=h[i]; h[i]:=h[j]; h[j]:=t;
t:=s[i]; s[i]:=s[j]; s[j]:=t;
end;
x:=0; y:=s[1];
for i:=1 to sum do
if k-(abs(h[i]-x)+abs(s[i]-y))-h[i]>0 then
begin
ans:=ans+num[i];
k:=k-(abs(h[i]-x)+abs(s[i]-y));
dec(k);
x:=h[i]; y:=s[i];
end
else break;
write(ans);
end.
num,h,s:array[1..1000]of longint;
i,j,n,t,m,k,sum,ans,x,y:longint;
begin
read(n,m,k);
for i:=1 to n do
for j:=1 to m do
begin
read(x);
if x<>0 then
begin
inc(sum);
num[sum]:=x;
h[sum]:=i;
s[sum]:=j;
end;
end;
for i:=1 to sum-1 do
for j:=i+1 to sum do
if num[i]<num[j] then
begin
t:=num[i]; num[i]:=num[j]; num[j]:=t;
t:=h[i]; h[i]:=h[j]; h[j]:=t;
t:=s[i]; s[i]:=s[j]; s[j]:=t;
end;
x:=0; y:=s[1];
for i:=1 to sum do
if k-(abs(h[i]-x)+abs(s[i]-y))-h[i]>0 then
begin
ans:=ans+num[i];
k:=k-(abs(h[i]-x)+abs(s[i]-y));
dec(k);
x:=h[i]; y:=s[i];
end
else break;
write(ans);
end.
相关文章推荐