问题 5916 --仓库货位

5916: 仓库货位★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 19  解决: 17
[提交][状态][命题人:]

题目描述

某仓库有一排连续相邻的货位,编号依次为 0~n-1,用于放置 AB 两种类型的箱子,A型箱子占 2 个相邻货位,B 型箱子占 1 个货位。编写程序,根据已完成的放置或搬离操作,输出空货位数及还可放置 A 型箱子的最多数量(不移动已放置的箱子)

n=int(input())
cnt1=n
lst=[0]*n
while True:
    t,d,s=input().split()
    s=int(s)
    if t=='A':
        w=2
    __(1)____:
        w=1
    else:
        break
    if d=='P':
        ____(2)______
    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:
            _____(3)_______
            cnt2+=1
        i+=1
    print(cnt1,cnt2)

输入

第一行为货位总数n(n<100),之后每组操作输入一行,每次输入本次操作的箱子类型(AB)、操作类型(P代表放置,Q代表搬离)、货位编号起始值。

输出

多组输出,每组输出一行,根据每一次的放置或搬离操作,输出空货位数及还可放置 A 型箱子的最多数量(不移动已放置的箱子)。
样例输入
Copy
10
B P 5
A P 2
B P 0
A P 7
A Q 2
样例输出
Copy
9 4
7 3
6 2
4 0
6 2

提示

来源

[提交][状态]