const fin='ruttien2.inp';fon='ruttien2.out';
var
m,n,s,d:longint;
a,x:array[1..1000] of longint;
procedure vet(i:longint);
var j,k:longint;
begin
for j:=0 to (m - s) div a[i] do //Xet tat ca c c gia tri c¢ the cua xi
begin
x[i] := j;
s:=s + j*a[i]; //ghi nhan gia tri cho xi, c?p nh?t t?ng ti?n s
if i=n then
begin
if s = m then //cach hop le
begin
//for k:=1 to i do write(x[k],' ');
//writeln;
inc(d);
end
end
else vet(i+1); //chuyen qua vet thanh phan tiep theo xi+1
s:=s - j*a[i]; //loai bo kha nang j hien tai, chuyen qua j moi
end;
end;
procedure solve;
var i:longint;
begin
readln(m,n);
for i:=1 to n do readln(a[i]);
s:=0;d:=0;
vet(1);
write(d);
end;
begin
assign(input,fin);reset(input);
assign(output,fon);rewrite(output);
solve;
close(input);close(output);
end.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Sáu, 29 tháng 4, 2022
RUTTIEN2 PASCAL
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.