(2)CCF201803-2python实现碰撞的小球
这题也没有难度…但是注意题目输出的时候小球的顺序是按照输入的顺序输出的, 所以应该()优先遍历小球而不是从数轴上遍历
python 能写
[0]* (L+1)
就是爽啊
代码实现:
[n, L, t] = list(map(int, input().split(" ")))
balls = []
for i in map(int, input().split(" ")):
balls.append([1, i])
#右1, 左10
for time_flying in range(t):
rope = [0] * (1+L)
for i in balls:
rope[i[1]] += i[0]
#球动了
for i in balls:
if i[0] == 1:
if i[1] == L or rope[i[1]]==11:
i[0] = 10
i[1] -=1
else:
i[1] +=1
elif i[0] == 10:
if i[1] == 0 or rope[i[1]] == 11:
i[0]=1
i[1]+=1
else:
i[1] -=1
for i in balls:
print(i[1], end = ' ')