寒假作业2——Pintia小作业及编程题

编程题(电梯)

      Click to Github
      听华一大大说可以用回溯算法,熟练运用搜索引擎的我就百度了一下,琢磨了很多天以为自己会了,真的看到题目还是一脸懵逼(#`-_ゝ-),提交的代码并没有用到回溯(因为不会),而且只能处理几组非常特殊的数据,但是担心截止时间前改不完就先提交了。

我的想法

-将五组数据按照请求时间进行排序
-根据时间顺序载客并作出选择
      1.送完电梯内的乘客再去载其他发出请求的乘客
      2.在送该乘客的过程中接其他乘客
         (1)接的乘客恰好目的地与电梯上的乘客相同,即“顺风车”
         (2)接的乘客目的地与电梯上的乘客相反☚其实这种情况乘客上不上电梯都是一样的等待时间,可以不用考虑的( ̄▽ ̄)"

然而只是想法

      碍于自己相当贫瘠的编程知识和十分薄弱的编程实现能力,用递归写出了很多莫名其妙的问题☚其实就是乱写不知道写了什么,我屈服了,还是先用我熟练掌握的这一点知识写吧……因此贴出来的代码其实没有什么参考价值(;′⌒`),十分的冗长而且只有特别的数据能得到最优(其实就是进行了计算,很难说是否正确...( _ _)ノ|)

第2次更新

      写了一晚上还是改不清楚,原本能处理的数据也出问题了//那我为什么更新呢_〆(´Д` )
      因为写着写着发现还有更多情况☟

  • 还是按照时间顺序载客
  • 顺路出现了两种情况☞(1)接到第k个目标乘客前,第k+1个乘客恰好发出请求,并且目的地与第k个相同;(2)接到第k个乘客后,第k+1个乘客恰好发出请求,且目标相同;
  • 后来发现☞可以不止一个人顺路,比如五个请求都是零时刻发出,并且正好目标楼层都相同( ̄▽ ̄)"
  • 直觉告诉我判断的几个节点是这样的☞收到第k个请求时,
    第一个判断:接到第k个乘客前是否可以“顺路”接其他乘客,如果是,可以选择接,或者不接;
    第二个判断:接到第k个乘客后是否可以“顺路”接其他乘客,如果是,可以选择接,或者不接。
    倘若第k+1个乘客顺路,可以向下搜索第k+2个,并进行判断
    //这么一写,好像可以用回溯了ヾ(≧ ▽ ≦)ゝ,又出现很多if语句了( ̄▽ ̄)"//不说了我去学习了,这不是时间截止的自暴自弃(°ー°〃)

    Pintia小作业

    1330159-20180211144735154-2000979997.png

转载于:https://www.cnblogs.com/YvonneLhy/p/8441431.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值