比赛 |
10101115 |
评测结果 |
AAATTTTTTT |
题目名称 |
技能树 |
最终得分 |
30 |
用户昵称 |
1102 |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2010-11-15 10:46:28 |
显示代码纯文本
program xxxx;
var f:array[1..50,1..50] of boolean;
a:array[1..50,1..50] of longint;
i,j,n,m,w,x:longint;
procedure work(k:longint);
var p,q:longint;
begin
if k>m then
begin
if w>x then
x:=w;
end
else
begin
for p:=1 to n do
for q:=1 to n-p+1 do
if (f[p,q]) then
if (p=1)or((p<>1)and(f[p-1,q]<>true)and(f[p-1,q+1]<>true))then
begin
w:=w+a[p,q];
f[p,q]:=false;
work(k+1);
w:=w-a[p,q];
f[p,q]:=true;
end;
end;
end;
begin
assign(input,'skill.in');
reset(input);
assign(output,'skill.out');
rewrite(output);
read(n,m);
for i:=1 to n do
for j:=1 to n-i+1 do
begin
read(a[i,j]);
f[i,j]:=true;
end;
w:=0;
x:=0;
work(1);
write(x);
close(input);
close(output);
end.