编程语言
首页 > 编程语言> > (2)CCF201803-1python实现碰撞的小球

(2)CCF201803-1python实现碰撞的小球

作者:互联网

(2)CCF201803-1python实现碰撞的小球

这题也没有难度…但是注意题目输出的时候小球的顺序是按照输入的顺序输出的, 所以应该()优先遍历小球而不是从数轴上遍历

python 能写 [0]* (L+1)就是爽啊

代码实现:

[n, L, t] = [int(x) for x in input().split(' ')]

#第一个表示方向1右-1左, 第二个表示位置
balls = []
rope = [0] * (L+1)
    
for i in [int(x) for x in input().split(' ')]:
    balls.append([1, i])

for time_flying in range(t):
    rope = [0] * (1+L)
        
    for i in balls:#球动了
        if i[0] == -1:
            i[1]-=1
            rope[i[1]] += 1
        else :
            i[1]+=1
            rope[i[1]] +=0.1
    
    for i in balls: #球的方向变了
        if (i[1]==0) or (i[1]==L):
            i[0] = -i[0]
        if rope[i[1]] == 1.1:
            i[0] = -i[0]

for i in balls:
    print(i[1],end = ' ')

标签:1python,balls,int,CCF201803,小球,rope,input
来源: https://blog.csdn.net/albert_fifth/article/details/110095860