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

时间:2021-2-20 作者:admin

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

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

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 = ' ')
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。