Chào mừng bạn đến với Selfomy Hỏi Đáp, hãy Hỏi bài tập hoặc Tham gia ngay
0 phiếu
trong Tin học lớp 11 bởi thanhtrong ● Ban Quản Trị Thạc sĩ (6.2k điểm)
đã sửa bởi thanhtrong ● Ban Quản Trị

An được mời tham gia trò chơi "Siêu thị may mắn" do đài truyền hình ZTV tổ chức. Siêu thi được đặt trong trường quay truyền hình có n mặt hàng được đánh số từ 1 đến n và mặt hàng thứ i được niêm yết giá là c[i] đồng. Theo thể lệ trò chơi, An được ban tổ chức tặng một thẻ mua hàng có giá trị là s đồng và phải dùng hết số tiền trong thẻ này để mua hàng trong siêu thi với điều kiện mặt hàng thứ i chỉ được mua với số lượng nhiều nhất là m[i]. An sẽ là người thắng cuộc nếu tìm được tổng số cách mua hàng thỏa mãn yêu cầu đặt ra và chỉ ra một cách mua hàng nếu có.

Yêu cầu: Hãy giúp An trở thành người thắng cuộc khi cho bạn biết trước các giá trị n,s,c[i],m[i] (1<=n<=500; 1<=s<=10^4; 1<=c[i]<=10^4; 1<=m[i]<=100)</strong>

Input: Cho trong file văn bản SMARKET.INP

  • Dòng đầu ghi hai số s, n
  • N dòng tiếp theo, dòng thứ i chứa hai số c[i], m[i]

Output: Ghi ra file văn bản SMARKET.OUT

  • Dòng đầu ghi d là phần dư của  tổng số cách mua hàng chia cho 131131
  • Nếu d³1 thì dòng thứ hai ghi một cách mua hàng tìm được là một dãy gồm N số nguyên, trong đó số hạng thứ i là số lượng mặt hàng thứ i mua được trong cách mua này.

Ví dụ:

SMARKET.INP

SMARKET.OUT

12 3
4 1
6 2
2 1

2
0 2 0

 


1 Câu trả lời

0 phiếu
bởi thanhtrong ● Ban Quản Trị Thạc sĩ (6.2k điểm)
 
Hay nhất
{*************************************************************************
Program    :   SIEU THi MAY MAN
*************************************************************************}
const
   tfi='SMARKET.INP';
   tfo='SMARKET.OUT';
   MAXN=501;
   MAXS=10001;

var
   fi, fo: text;
   s,n: integer;
   x,c,m: array[1..MAXN] of longint;
   f: array[0..MAXS,0..MAXN] of longint;
   d: array[0..MAXS] of longint;
   sl: array[0..MAXS] of longint;

procedure doc;
var i: integer;
begin
   assign(fi,tfi); reset(fi);
   readln(fi,s,n);
   for i:=1 to n do readln(fi,c[i],m[i]);
   close(fi);
end;

procedure Tinh;
var k,i,l: integer;
begin
   for k:=0 to S do f[k,0]:=0; f[0,0]:=1;
   for i:=1 to n do
      for k:=0 to S do
         begin
            f[k,i]:=f[k,i-1];
            for l:=1 to m[i] do
               begin
                  if k-l*c[i]<0 then break;
                  f[k,i]:=(f[k,i]+f[k-l*c[i],i-1]) mod 131131;
               end;
         end;
end;

procedure viet;
var i: integer;
begin
   assign(fo,tfo); rewrite(fo);
   writeln(fo,f[s,n]);
   if f[s,n]<>0 then
      for i:=1 to n do write(fo,x[i],' '); writeln(fo);
   close(fo);
end;

procedure Tim;
var u,max,i,j,l: integer;
label l1;
begin
   if f[s,n]=0 then exit;
   fillchar(d,sizeof(d),0);
   d[0]:=-1;
   max:=0;
   for i:=1 to n do
      for j:=max downto 0 do
         if d[j]<>0 then
            begin
               for l:=1 to m[i] do
                  begin
                     if j+l*c[i]>s then break;
                     if d[j+l*c[i]]=0 then
                        begin
                           d[j+l*c[i]]:=i;
                           sl[j+l*c[i]]:=l;
                           if max0 do
      begin
         i:=d[u];
         x[i]:=sl[u];
         u:=u-x[i]*c[i];
      end;
end;

BEGIN
   doc;
   tinh;
   tim;
   viet;
END.

Các câu hỏi liên quan

+2 phiếu
0 câu trả lời
Trong truyện cổ tích "Cây Khế" ta đã biết rằng chim thần chở người anh với một cái túi ba gang đến hòn đảo đầy vàng bạc châu báu ... ;c chọn. Ví dụ: CAYKHE.INP CAYKHE.OUT 5 10 20 3 19 1 30 7 24 3 15 6 63 3 1 2 4
đã hỏi 12 tháng 1, 2021 trong Tin học lớp 11 bởi thanhtrong ● Ban Quản Trị Thạc sĩ (6.2k điểm)
0 phiếu
0 câu trả lời
Cho n đoạn trên trục số, đoạn thứ i là [Li, Ri]. Hãy chọn ra trong các đoạn kể trên một số ít nhất các đoạn để phủ hết đoạn [a, b] Dữ ... 4 7 10 9 11 8 11 3 1 4 6 8 1 200 1 4 2 5 4 5 6 45 6 7 5 7 100 200 50 99 -1
đã hỏi 4 tháng 1, 2021 trong Tin học lớp 11 bởi thanhtrong ● Ban Quản Trị Thạc sĩ (6.2k điểm)
0 phiếu
1 trả lời
Tờ báo CTT (Chuyên Toán-Tin) phát hành với số lượng lớn trên N tỉnh 1..N, N chẵn và N£1000 do đó phải in tại hai nhà in đặt ở tỉnh 1 và tỉnh 2. Hàng ... 6 8 1 2 5 1 4 8 1 6 7 2 3 6 3 4 5 3 6 2 4 5 3 5 6 2 1 4 5 2 3 6
đã hỏi 4 tháng 1, 2021 trong Tin học lớp 11 bởi thanhtrong ● Ban Quản Trị Thạc sĩ (6.2k điểm)
0 phiếu
1 trả lời
Cho hình chóp S.ABCD có đáy ABCD là hình vuông cạnh bằng 2, SA=2 và SA vuông góc với mặt đáy ABCD. Gọi M,N là hai điểm thay đổi lần lượt trên cạnh ... \frac{13}{9} . B. T=2.\) \(C. T=\frac{2+\sqrt{3} }{4} . D. T=\frac{5}{4} .\)
đã hỏi 11 tháng 8, 2021 trong Toán lớp 12 bởi nhthuyvy16 ● Cộng Tác Viên Tiến sĩ (16.5k điểm)
0 phiếu
1 trả lời
Trong không gian Oxyz, cho hai điểm \(C\left(-1;2;11\right),H(-1;2;-1)\), hình nón (N) có đường cao CH=h và bán kính đáy là \(R=3\sqrt{2}\). Gọi M là điểm ... tâm I(a;b;c) bán kính là d. Giá trị a+b+c+d bằng A. 1 B. 3 C. 6 D. -6
đã hỏi 21 tháng 7, 2021 trong Toán lớp 12 bởi nhthuyvy16 ● Cộng Tác Viên Tiến sĩ (16.5k điểm)
0 phiếu
1 trả lời
Cho tứ diện ABCD có I,J tương ứng lần lượt là trung điểm các cạnh AB và CD. Gọi M,N tương ứng thuộc cạnh BC và AD sao cho BM=2MC,AN=2ND. Chứng minh\( I,{\rm \; }J,{\rm \; }M,{\rm \; }N \)cùng thuộc một mặt phẳng.
đã hỏi 12 tháng 8, 2021 trong Toán lớp 12 bởi nhthuyvy16 ● Cộng Tác Viên Tiến sĩ (16.5k điểm)
0 phiếu
1 trả lời
Cho S.ABCD có đáy ABCD là hình thang, đáy lớn là CD. M,N là trđ của SD,SB. Biết rằng CD=2AB và F là giao điểm của SC và mặt phẳng (AMN). Gọi I,J là giao điểm của các cặp CD và EM, BC và FN. Chứng minh rằng ba điểm A,I,J thẳng hàng và SC=4SF.  
đã hỏi 18 tháng 8, 2021 trong Toán lớp 11 bởi nhthuyvy16 ● Cộng Tác Viên Tiến sĩ (16.5k điểm)
0 phiếu
1 trả lời
Trong không gian Oxyz, cho hai điểm \(A\left(2;3;-1\right);B\left(1;3;-2\right)\) và mặt cầu \(\left(S\right):x^{2} +y^{2} +z^{2} -2x-4y+2z+3=0\). Xét khối nón (N) có đỉnh là tâm I của ... 2x+by+cz+d=0 và y+mz+e=0. Giá trị của b+c+d+e bằng A. 15.. B. -12.. C. -14.. D. -13.
đã hỏi 15 tháng 7, 2021 trong Toán lớp 12 bởi nhthuyvy16 ● Cộng Tác Viên Tiến sĩ (16.5k điểm)
0 phiếu
1 trả lời
Ong mật có thể bay được với vận tốc 8 km/giờ. Tính quãng đường bay được của ong mật trong 15 phút.
đã hỏi 12 tháng 3, 2019 trong Toán tiểu học bởi NamikazeMinato Thần đồng (1.4k điểm)
0 phiếu
1 trả lời
Cho số phức z thoả mãn đồng thời hai điều kiện |z-3-4i|=√5 và biểu thức M=|z+2|^2 -|z-i|^2 đạt giá trị lớn nhất. Môđun của số phức z-2-i bằng
đã hỏi 11 tháng 11, 2021 trong Toán lớp 12 bởi Nguyễn vũ

HOT 1 giờ qua

  1. monmon70023220

    686 Điểm

  2. Darling_274

    215 Điểm

  3. minhquanhhqt160

    168 Điểm

  4. tngnhatganh117

    94 Điểm

Phần thưởng hằng tháng
Hạng 1: 200.000 đồng
Hạng 2: 100.000 đồng
Hạng 3: 50.000 đồng
Hạng 4: 20.000 đồng
Phần thưởng bao gồm: mã giảm giá Shopee, Nhà Sách Phương Nam, thẻ cào cùng nhiều phần quà hấp dẫn khác sẽ dành cho những bạn tích cực nhất của tháng. Xem tại đây
Bảng xếp hạng cập nhật 30 phút một lần
...