Section 2.3 Money Systems

    技术2022-05-19  31

    动态规划思想, 完全背包,迭代。

    f[i+j] := f[i+j] + f[i];

    {

    ID: yaoyuan4

    PROG: money

    LANG: PASCAL

    }

    Program money;

     const

      inf = 'money.in'; outf = 'money.out';

     var

      v, n, i, j, a : longint;

      f : array[0..10000] of int64;

     begin

      assign(input, inf); reset(input);

      readln(v, n);

      fillchar(f, sizeof(f), 0);

      f[0] := 1;

      for i := 1 to v do

       begin

        read(a);

        for j := 0 to n - a do

         inc(f[j+a], f[j]);

       end;

      close(input);

      assign(output, outf); rewrite(output);

      writeln(f[n]);

      close(output);

     end.

     

     


    最新回复(0)