当前位置: 高中信息技术 / 综合题
  • 1. (2023·浙江) 某仓库有一排连续相邻的货位,编号依次为0~n-1,用于放置A、B两种类型的箱子,A型箱子占2个相邻货位,B型箱子占1个货位。编写程序,根据已完成的放置或搬离操作,输出空货位数及还可以放置A型箱子的最多数量(不移动已放置的箱子)。请回答下列问题:

    1. (1) 若n为10,开始时货位全空,经过如图所示的放置或搬离操作后,不移动已放置箱子的情况下,还可放置A型箱子的最多数量为个。
    2. (2) 实现上述功能的部分Python程序如下,请在划线处填入合适的代码。

      # 读取货位总数,存入n,代码略。

      cnt1 = n

      lst = [0]*n         # 货位状态,0表示对应的货位为空

      while True:

          #读取本次已操作的数据:箱子类型、操作类型、货位编号起始值,存入t、d和s,代码略

          if t = = 'A':

              w = 2

              :

              w=1

          else:           # t不是'A'或'B'时退出循环

              break

          if d = = 'P':        # d为P时表示放置,否则表示搬离

             

          else:

              cnt1 + = w

          lst[s]=1-lst[s]

          if t = = 'A':

              lst[s+1] = 1-lst[s+1]

          i, cnt2 = 0,0

          while i < n-1:

              if lst[i] = = 0 and lst[i+1] = = 0:

                 

                  cnt2 + = 1

              i + = 1

          print("当前空货位数: ',cnt1,',还可放置A型箱子的最多数量: ',cnt2)

微信扫码预览、分享更方便