比赛 |
暑假培训七 |
评测结果 |
AAAAEEEEEE |
题目名称 |
数塔 |
最终得分 |
40 |
用户昵称 |
EnAsn |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-07-24 17:43:08 |
显示代码纯文本
program ex;
type
ss=array[1..10,1..10]of integer;
sz=array[1..10]of integer;
var
a,f:ss;
b:sz;
f1,f2:text;
i,j:integer;
n,x:integer;
procedure init;
var
i,j:integer;
begin
assign(f1,'shuta.in');
assign(f2,'shuta.out');
reset(f1);
rewrite(f2);
read(f1,n);
for i:=1 to n do
begin
for j:=1 to i do read(f1,a[i,j]);
readln(f1);
end;
for i:=1 to n do f[n,i]:=a[n,i];
end;
begin
init;
for i:=n-1 downto 1 do
for j:=1 to i do
begin
if f[i+1,j]>=f[i+1,j+1] then x:=f[i+1,j]
else x:=f[i+1,j+1];
f[i,j]:=a[i,j]+x;
end;
j:=0;
for i:=1 to n do
begin
if f[i,j]<f[i,j+1] then inc(j);
b[i]:=a[i,j];
end;
writeln(f2,f[1,1]);
for i:=1 to n do write(f2,b[i],' ');
close(f1);
close(f2);
end.