记录编号 |
674 |
评测结果 |
WTATTEEEEE |
题目名称 |
[NOI 1999]生日蛋糕 |
最终得分 |
10 |
用户昵称 |
bing |
是否通过 |
未通过 |
代码语言 |
Pascal |
运行时间 |
3.123 s |
提交时间 |
2008-07-20 16:16:16 |
内存使用 |
0.00 MiB |
显示代码纯文本
program cake;
var
n,m,r,h,s,s0:integer;
f1,f2:text;
i,j:integer;
procedure init;
begin
assign(f1,'cake.in');reset(f1);
assign(f2,'cake.out');rewrite(f2);
readln(f1,n);
readln(f1,m);
s0:=n+1;
end;
procedure nb(i,r,h,v,s:integer);
var j,k:integer;s1:integer;v1:integer;
begin
for j:= 1to r-1 do
for k:=1to h-1 do
begin
if v>=j*j*k then begin
v:=v-j*j*k;
s:=s+2*k*j;
if (i=m)and (v=0) then begin
if s<=s0 then s0:=s;end
else
if (i<m)and(v>0) then
nb(i+1,j,k,v,s);
v:=v+j*j*k;
s:=s-2*k*j;
end;
end;
end;
begin
init;
for i:=1 to trunc(sqrt(n)) do
for j:= 1 to n div (i*i) do
nb(2,i,j,n-i*i*J,i*i+2*i*j);
write(f2,s0);
close(f1);close(f2);
end.