辞酒 2017-07-29 02:42 采纳率: 100%
浏览 1713
已采纳

c++算法题 坐电梯 数据结构

小G 来到了著名的CIGOM 大厦。大厦一共有n 层,初始的时候小G 在第A
层。小G 特别想去B 层小M 的办公室看一看,然而因为安保原因,B 层已经被
封锁无法进入。
但是小G 既然来了,就想在大厦里面逛一逛。大厦里面有一部电梯,小G 决
定坐k 次电梯。因为小G 比较无聊,他给自己设定了这样一个规矩:假如当前他
在x 层,则他要去的下一个楼层y 和x 的楼层差必须要小于x 和B 的楼层差。每到达一个楼层,小G 都要记录下来其楼层号。
当小G 转完一圈后,他也记录下了k +1 个楼层号(可能有重复)。小G 现在想知道,按照他定下的规矩,一共有多少种可能的楼层号序列?

输入格式

输入文件一行,4 个数字n; A;B; k,含义如题目所述。

输出格式

输出一个数字,表示可能的楼层号序列的数量。答案对109 + 7 取模。

样例输入
5 2 4 1
样例输出
2

  • 写回答

2条回答 默认 最新

  • CasvotLee 2017-07-29 03:11
    关注

    首先 ,这是一个数学题;其次这肯定还要对y和x的差值分类(即下一层在此楼上还是下),可以使用分支语句,分支后根据给定的条件找出y的范围(y-x<x-B)),y确定后就好办了;使用两重循环找出所有的组合,然后累加,当然期间还要去除相同排列的情况。
    另一种情况也相同。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器