1996年分区联赛提高组之四 砝码称重
Time Limit:1000MS Memory Limit:65536K
Total Submit:197 Accepted:88
Description
设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),
要求:
输入方式:a1 a2 a3 a4 a5 a6
(表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)
输出方式:N
(N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)
Input
Output
Sample Input
1 1 0 0 0 0
(注:下划线表示空格)
Sample Output
3 表示可以称出1g,2g,3g三种不同的重量。
var a:array[1..6] of longint; f:array[0..10001] of boolean; n,m,j,k,l,i,ans:longint; begin for i:=1 to 6 do read(a[i]); for i:=0 to a[1] do for j:=0 to a[2] do for k:=0 to a[3] do for l:=0 to a[4] do for m:=0 to a[5] do for n:=0 to a[6] do f[i+j*2+k*3+l*5+m*10+n*20]:=true; for i:=0 to 10001 do if f[i] then inc(ans); writeln(ans-1); end.