QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 9078|回复: 19
打印 上一主题 下一主题

分配难题

[复制链接]
字体大小: 正常 放大

2

主题

3

听众

16

积分

升级  11.58%

该用户从未签到

跳转到指定楼层
1#
发表于 2010-10-24 09:28 |只看该作者 |正序浏览
|招呼Ta 关注Ta
      设有4个盒子,标号为1,2,3,4.   有15个颜色相同的小球, 现在要将15个颜色相同的小球分配到4个盒子中,
+ W0 [, O3 N3 O: H2 o' ?要求每个盒子至少有一个小球,并且对于盒子中小球的数目,盒子1>盒子2>盒子3>盒子4.  请问一共有多少种分配方法.
" j, i+ F$ v) w. @8 `- |
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
漂流者 实名认证    中国数模人才认证   

10

主题

5

听众

1234

积分

升级  23.4%

  • TA的每日心情
    郁闷
    2014-9-19 13:56
  • 签到天数: 380 天

    [LV.9]以坛为家II

    群组2011年第一期数学建模

    群组学术交流A

    群组第四届数学中国美赛实

    群组数学中国2013版主团队

    可以先把15个球排成一排,然后从他们之间的14个间隔里插入3块板,就可以把15个小球分成4份了,用这个思想,可以很容易解决你的问题,隔板法是很经典的东西。
    回复

    使用道具 举报

    whui        

    0

    主题

    4

    听众

    192

    积分

    升级  46%

  • TA的每日心情
    奋斗
    2013-4-3 01:13
  • 签到天数: 61 天

    [LV.6]常住居民II

    回复

    使用道具 举报

    whui        

    0

    主题

    4

    听众

    192

    积分

    升级  46%

  • TA的每日心情
    奋斗
    2013-4-3 01:13
  • 签到天数: 61 天

    [LV.6]常住居民II

    回复

    使用道具 举报

    linmatsas 实名认证       

    53

    主题

    13

    听众

    3592

    积分

    逍遥游

  • TA的每日心情
    奋斗
    2014-12-2 09:53
  • 签到天数: 54 天

    [LV.5]常住居民I

    自我介绍
    额。。。。世界上最讨厌的事情就是自我介绍。。。

    邮箱绑定达人 新人进步奖 发帖功臣 最具活力勋章

    群组Matlab讨论组

    群组数学建模

    群组小草的客厅

    群组2012数学一考研交流

    群组C 语言讨论组

    要是好多好多球好多好多盒子可怎么办呢…………这真是一个问题呀………………不过一时想不出来其他算法了……应该穷举能做呀…………应该用不了几个小时吧…………
    渺万里层云,千山暮雪
    回复

    使用道具 举报

    24

    主题

    5

    听众

    1034

    积分

    升级  3.4%

  • TA的每日心情
    奋斗
    2014-4-16 09:54
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    发帖功臣 新人进步奖

    回复 maybe_madio 的帖子
    3 z( y0 z2 s5 Y8 g& Y当你的变量大到一定程度的时候,你可以将约束条件写成一个循环语句,判断、输出也可以写成相应的循环语句!1 a9 w: G" N( Z/ C* ]% b. R& y
    反正程序的总体思路就是上面那个,过多的我就不多说了, c( V" y( b. p: I
       
    回复

    使用道具 举报

    24

    主题

    5

    听众

    1034

    积分

    升级  3.4%

  • TA的每日心情
    奋斗
    2014-4-16 09:54
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    发帖功臣 新人进步奖

    回复 maybe_madio 的帖子
    2 u6 x/ ]4 K) K+ {, y  W. e本身这个算法就很具有一般性,如果你增加变量,只要对程序稍加改动就可以了,0 Q9 j2 j& c4 I) J1 a- c
    for(xm=1;xm<n;xm++)
    " r" R" R- p% A& w然后判断语句和输出也做相应改变
    ; t/ L5 ~4 h( A5 t" k3 _/ P+ {) \' ]5 o( L
       
    回复

    使用道具 举报

    2

    主题

    3

    听众

    16

    积分

    升级  11.58%

    该用户从未签到

    回复 guoshaoming 的帖子& N- ]6 p1 u' t+ J* L6 w

    0 G9 ~4 g& d6 V: S: C+ N" V: o- v2 F' O9 }) _4 z  r
        虽然对于15来说,比较容易算出, 那如果我的变量再增多呢? 假设有x1+x2+..xm=n呢?(m<n)
    - Q4 U* Z9 f: {  F2 ?能否有更好的程序算法来解决这个问题呢? 你的穷举算法也只能适用于少量的变量和n较小的特例,当变量增多,或是n变大,这是阶乘级的时间复杂度哦!
    * g2 y9 d6 i/ I& f% P
    回复

    使用道具 举报

    24

    主题

    5

    听众

    1034

    积分

    升级  3.4%

  • TA的每日心情
    奋斗
    2014-4-16 09:54
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    自我介绍
    200 字节以内

    不支持自定义 Discuz! 代码

    发帖功臣 新人进步奖

    本帖最后由 guoshaoming 于 2010-10-25 00:08 编辑 / j2 ^2 Q' h* m# R! O4 G% l

    % ^  w8 D4 N3 x8 p& G% ?回复 maybe_madio 的帖子
    ! \& p7 @) F+ p# P1 y分配方案如下:
    * y! l! N. b2 a6       4       3       2
    : }: q1 J; R* X, E4 B6 a* N  H6       5       3       1
    9 Z1 F: m4 I+ i# @" e7       4       3       1! f5 c9 s% ~' }! j% v2 Y( V
    7       5       2       1* ^( v& @& M  I* c6 A
    8       4       2       19 t- N1 f( v) x+ z* ^$ g4 J, q
    9       3       2       14 B2 u% w) z/ T, d1 J) ~8 `5 I; M
    其代码如下:1 B/ e% ?4 f- c( g2 ~
    #include < iostream >, I5 E" i2 J- ]3 y. r6 n

    - I+ t8 j; J( p, y$ w5 Ausing namespace std;0 C9 j7 M# X% {- [: A# ?
    ; D' Z+ D0 B  F. E
    % F* M* ^7 q. ^& v6 B, r3 U, n
    int main()( E/ u" h( E3 R) O
    {
    " O2 K2 x3 A5 v- Gint x1,x2,x3,x4;
    3 P/ t' z' k% G1 f* lint t=0;
    ; l5 T7 w) O* z* J- }8 J3 m( a/ N6 c3 x+ _9 u; x
    for(x1=1;x1<15;x1++)4 ~! v( t8 H9 u% H2 @7 F
    for(x2=1;x2<15;x2++)
    7 O1 Z" H7 ]# C% m/ _$ Hfor(x3=1;x3<15;x3++)
      _1 q4 ^5 |5 R. W+ a3 F2 N. k; `for(x4=1;x4<15;x4++)% M5 P; c3 Y. }/ n3 D
    {
    ( }: @: a; l2 ~6 Y3 xif((x1+x2+x3+x4==15)&&(x1>x2)&&(x2>x3)&&(x3>x4))# n! |, v! F( W: w
    cout<<x1<<"\t"<<x2<<"\t"<<x3<<"\t"<<x4<<endl;
    " I# j6 z1 I: _# A8 O- G0 z# N, ~' j+ t& K9 r
    }: ~8 R1 H2 Z. Q; v
    return 0;# A( T' T5 y3 I
    }
    8 y' }  ^# y: B$ I# M+ p- ~- y
       
    回复

    使用道具 举报

    4

    主题

    3

    听众

    224

    积分

  • TA的每日心情
    无聊
    2014-9-30 10:57
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    群组数学建摸协会

    群组数学建模培训课堂1

    群组数与学-建和模

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-12 09:18 , Processed in 0.494550 second(s), 103 queries .

    回顶部