⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p1179.pas

📁 www.vijos.cn上一些习题的参考源码
💻 PAS
字号:
program p1179;
var
	b:array[1..5000] of longint;
	a,ans:array[1..10] of longint;
	i,max,n,k:longint;
	
function dp(dep:longint):longint;
var
	x,i:longint;
begin
	fillchar(b,sizeof(b),120);
 	x:=0;
	repeat
		inc(x);
		for i:=1 to dep do
            if(x>=a[i]) then
                if(b[x-a[i]+1]<b[x]) then b[x]:=b[x-a[i]]+1;
	until b[x]>n;
	dp:=x-1;
end;

procedure search(d,j:longint);
var
	i:longint;
begin
	if d=k then begin
		if dp(d)>=max then begin
			max:=dp(d);
			ans:=a;
		end;
		exit;
	end;
	inc(d);
	a[d]:=j;
	for i:=j+1 to dp(d)+1 do
		search(d,i);
end;


begin
	readln(n,k);
	fillchar(a,sizeof(a),0);
	fillchar(ans,sizeof(ans),0);

	b[1]:=1;
	max:=0;
	search(0,1);
	for i:=1 to k do write(ans[i],' ');
	writeln('MAX=',max);
	readln;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -