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

📄 p1179b.bak

📁 www.vijos.cn上一些习题的参考源码
💻 BAK
字号:
program p1179b;
var
	now:array[1..20] of longint;
	t,can:array[0..10000] of boolean;
	ans:array[1..20] of longint;
	best:longint;
	n,k,i:longint;
	
procedure get(p:longint; var maxn:longint);
var
	i,j:longint;
begin
	t:=can;
	for i:=1 to p do
		for j:=0 to maxn do
			if can[j] then
				t[j+now[i]]:=true;
	can:=t; maxn:=maxn+now[p];
end;

procedure solve(p,last,max:longint);
var
	i,j,ma,h:longint;
begin
	if p=k then begin
		if max>best then begin
			best:=max;
			ans:=now;
		end;
		exit;
	end;
	
	for i:=last+1 to max+1 do
	begin
		now[p+1]:=i; h:=0;
		fillchar(can,sizeof(can),false);
		can[0]:=true;
		for j:=1 to n do
			get(p+1,h);
		for j:=1 to h+1 do
			if not can[j] then begin
				ma:=j-1;
				break;
			end;
		
		solve(p+1,i,ma);
	end;	
end;	
	
begin
	readln(n,k);
	best:=0;
	solve(0,0,0);
	for i:=1 to k do
		write(ans[i],' ');
	writeln('MAX=',best);
end.

⌨️ 快捷键说明

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