📄 ac1184.pas
字号:
program tju1184;
const
maxn=100;
short:array[1..3]of byte=(2,1,1);
long:array[1..3]of byte=(3,3,2);
var
a:array[0..maxn,1..3]of word;
h:array[boolean,0..maxn,1..3]of longint;
n,m,i,j,k,t,x,y:longint;
b1,b2:boolean;
begin
repeat
read(n,m);
for i:=1 to n do begin
read(a[i,1],a[i,2],a[i,3]);
if a[i,1]>a[i,2] then begin t:=a[i,1];a[i,1]:=a[i,2];a[i,2]:=t;end;
if a[i,1]>a[i,3] then begin t:=a[i,1];a[i,1]:=a[i,3];a[i,3]:=t;end;
if a[i,2]>a[i,3] then begin t:=a[i,2];a[i,2]:=a[i,3];a[i,3]:=t;end;
end;
fillchar(h[false],sizeof(h[false]),0);
for i:=1 to m do begin
b1:=odd(i);b2:=not b1;
fillchar(h[b1],sizeof(h[b1]),0);
for j:=i to n-m+i do
for x:=1 to 3 do begin
for k:=i-1 to j-1 do
for y:=1 to 3 do begin
if (a[k,short[y]]>=a[j,short[x]]) and
(a[k,long[y]]>=a[j,long[x]]) and
(h[b1,k,y]>=h[b1,j,x]) then h[b1,j,x]:=h[b1,k,y];
if h[b2,k,y]>h[b1,j,x] then h[b1,j,x]:=h[b2,k,y];
end;
inc(h[b1,j,x],a[j,x]);
end;
end;
t:=0;
for i:=m to n do
for j:=1 to 3 do
if h[b1,i,j]>t then t:=h[b1,i,j];
writeln(t);
until seekeof;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -