切换到宽版
  • 11391阅读
  • 12回复

帮帮忙吧!各位老虾、大牛! [复制链接]

上一主题 下一主题
离线121371490
 
只看楼主 正序阅读 0 发表于: 2007-11-08
苹果的分配

Time Limit:1000MS  Memory Limit:65536K

Description
有两个人数分别是s1和s2的班级。有一天他们去果园选苹果,苹果是放在一个个框里面的,任何两框的苹果数都不同,管理员叔叔要求他们必须整框拿走,并且每个班只能拿走两框。已知有n框苹果及每框的苹果数,在保证同班同学分得苹果个数一样多的情况下(两个班各自分配苹果,且分配后不得有剩余),他们可以根据各个框中的苹果数来确定取走哪些装着苹果的框。这样取法可能就不只一种了,问有多少种不同的取法?

Input
第一行为两个班的人数(1≤s1,s2≤70),第二行是框数n(n≤40),第三行n个数表示每框的苹果数(≤300),各个数据间都用一个空格隔开。

Output
一行,不同取法总数(没有一种取法满足要求输出零)

Sample Input
41 42
4
11 30 22 20

Sample Output
1

虽然我知道我的程序比较弱智,但是我知道:输入样例过得了,可是就是过不了测试,各位大虾老牛,帮忙看看那里有问题,如果有更好的解法那就再好不过了!就谢谢各位啦!

var
    a:array[1..40]of integer;
    x:array[1..4]of integer;
    b,c,d,e,i:integer;
procedure s(o,p,q:integer);
var
    i,j:integer;
begin
    for i:=o to p do
    begin
          x[q]:=a;
          if q<4 then s(o+1,p+1,q+1)
                else if q=4 then
                begin
                      if ((x[1]+x[2])mod b=0)and((x[3]+x[4])mod c=0) then e:=e+1;
                      if ((x[1]+x[3])mod b=0)and((x[2]+x[4])mod c=0) then e:=e+1;
                      if ((x[1]+x[4])mod b=0)and((x[3]+x[2])mod c=0) then e:=e+1;
                      if ((x[2]+x[3])mod b=0)and((x[1]+x[4])mod c=0) then e:=e+1;
                      if ((x[4]+x[2])mod b=0)and((x[3]+x[1])mod c=0) then e:=e+1;
                      if ((x[3]+x[4])mod b=0)and((x[1]+x[2])mod c=0) then e:=e+1;
                end;
    end;
end;
begin
    readln(b,c);
    readln(d);
    for i:=1 to d do
          read(a);
    e:=0;
    s(1,d-3,1);
    writeln(e);
end.
离线绝世衰神
只看该作者 12 发表于: 2008-01-30
我也不会
天生我材必有用
老鼠儿子会打洞
离线绝世衰神
只看该作者 11 发表于: 2008-01-30
好难啊
天生我材必有用
老鼠儿子会打洞
离线121371490
只看该作者 10 发表于: 2007-11-12
引用第0楼121371490于2007-11-08 20:20发表的 帮帮忙吧!各位老虾、大牛! :
每个班只能拿走两筐

不是四筐问题吗?
离线faraway
只看该作者 9 发表于: 2007-11-11
8楼的程序不对吧??还是4个筐的思想!!!
题目要求n个筐!!!
属于4重循环深搜问题!!
离线ddddddd
只看该作者 8 发表于: 2007-11-11
离线121371490
只看该作者 7 发表于: 2007-11-10
怎么听不懂呢?
离线sm-star
只看该作者 6 发表于: 2007-11-10
moni
离线空泽木
只看该作者 5 发表于: 2007-11-10
额..我也觉得奇怪了。.怎么..连n也没定义..郁闷。..原来..LZ以为..是4筐了。.郁闷....LZ.你再仔细..读读题目哈....
离线faraway
只看该作者 4 发表于: 2007-11-09
不是就4框苹果lz!!
当然要用循环了!!!
对于这道题4重循环都不会超的!!
所以直接四重循环就OK了
快速回复
限100 字节
 
上一个 下一个