您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

木杆上的蚂蚁问题(php版)

来源:一方有 责任编辑:栏目编辑 发表时间:2013-07-01 14:39 点击:

 

  1. <?php  
  2. /*  
  3. *1:有一根27厘米的细木杆,在第3厘米、7厘米、 11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。  
  4. 木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,  
  5. 但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。  
  6. 求所有蚂蚁都离开木杆的最小时间和最大时间。  
  7.  
  8. 输入木杆长度 L  
  9. 输入蚂蚁的个数 n  
  10. 输入每个蚂蚁在木杆上的位置 x1,x2……xn  
  11. 输出所有蚂蚁离开木杆的最小时间和最大时间  
  12.  
  13. 假设只有两只蚂蚁A,B  
  14. A在第3厘米a处,B在第7厘米b处  
  15.  
  16.  
  17. 若是A,B相向而行,如  
  18. 0   3   5  7                                                 27   
  19. +---+---+--+-------------------------------------------------+  
  20. x   a   o  b                                                 y  
  21.     A->  <-B  
  22.  
  23. 则A,B在第5厘米o处相遇后,同时调头朝反方向走  
  24. 则A走过的路程为ao+ox=7  
  25. 则B走过的路程为bo+oy=20  
  26. 则A+B=ao+ox+bo+oy=(ao+oy)+(bo+ox)=ay+bx  
  27. 发现  
  28. 在任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走情况下走过的总路程=在任意两只蚂蚁碰头时,两只蚂蚁会交换位置不转向往前走情况下走过的总路程  
  29. 因此在计算最大最小时间时,可以忽略  
  30. 任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走的条件  
  31. 时间最短时,A往离她最近的那头走,就是3,B往离她最近的那头走,就是7  
  32. 时间最多时,A往离她最远的那头走,就是27-3,B往离她最远的那头走,就是27-7  
  33.  
  34. 当蚂蚁为n时,时间最短时,所有蚂蚁都离她最近的那头走,取出路程最大的那只蚂蚁,一般是中间那只  
  35. 当蚂蚁为n时,时间最多时,所有蚂蚁都离她最远的那头走,取出路程最大的那只蚂蚁,一般是最靠近两头那只 &n

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • PHP测试
      • 十天学会php之第六天
      • 几种显示数据的方法的比较
      • 使用xmlhttp为网站增加域名查询功能
      • PHP+MYSQL+Javascript数据库查询结果的动态显示
      • 查找数组中指定键名的值
      • 用redis实现跨服务器session
      • 用新浪微博接口发送图片微博失败的原因
      • smarty局部缓存技术[源码分析]
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1