第一题:斑马条纹,题目如下图.
代码如下:
第二题:住房子:题目如下
代码如下:
def min_max(n,k): min=0 max=0 if k==0 or k==1: max=0 elif k>1: if n>=2*k-1: max=k-1 if n<2*k-1: max=n-k return min,max t=int(input().strip()) list=[] for i in range(t): n,k=[int(j) for j in input().strip().split(" ")] min,max=min_max(n,k) list.append(min) list.append(max) for i in range(0,len(list)-1,2): print('{} {}'.format(list[i],list[i+1]))
运行如下:
6 1 0 1 1 2 0 2 1 2 2 6 4 0 0 0 0 0 0 0 0 0 0 0 2 Process finished with exit code 0
第三题:题目如下。
代码如下:
n,m=[int(i) for i in input().strip().split(" ")] capcity=[int(i) for i in input().strip().split(" ")]#记录每层剩余容量(还可以装多少香槟) empty=[i for i in capcity]#记录每层原始容量 command=[] for i in range(m): tmp=[int(i) for i in input().strip().split(" ")] command.append(tmp)#记录指令 for list in command: if list[0]==2: tmp_cap=list[2] for i in range(list[1],0,-1): if tmp_cap <= capcity[list[1]-1]: capcity[list[1] - 1]-=tmp_cap break else: tmp_cap-=capcity[list[1] - 1] capcity[list[1] - 1] = 0 else: target=empty[list[1]-1]-capcity[list[1]-1]#每层香槟容量=每层原始容量-每层剩余容量 print(target)
运行如下:
1 2 8 2 1 9 1 1 8