1996年分区联赛提高组之四 砝码称…

来源:互联网 发布:caffe python 安装 编辑:程序博客网 时间:2024/05/02 00:16

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三种不同的重量。


解题思路:用枚举的方法,六重循环,一一枚举,最后统计输出即可。

程序:
const
  maxm=1000;
var
  a,s:array[0..maxm]of longint;
  i1,i2,i3,i4,i5,i6,ans:longint;
begin
  for i1:=1 to 6 do
    read(s[i1]);
  for i1:=0 to s[1] do
    for i2:=0 to s[2] do
       for i3:=0 to s[3] do
         for i4:=0 to s[4] do
           for i5:=0 to s[5] do
             for i6:=0 to s[6] do
               if a[i1+i2*2+i3*3+i4*5+i5*10+i6*20]=0 then inc(a[i1+i2*2+i3*3+i4*5+i5*10+i6*20]);
  for i1:=1 to maxm do
    if a[i1]>0 then inc(ans);
  writeln(ans);
end.


版权属于: Chris
原文地址: http://blog.sina.com.cn/s/blog_83ac6af80102vb7f.html
转载时必须以链接形式注明原始出处及本声明。
0 1
原创粉丝点击