zoukankan      html  css  js  c++  java
  • csp 碰撞的小球 python

    运行错误了n次,不知道为什么,然后百度找了一下答案,提交没问题 慢慢探索终于发现了问题所在。

    n,l,t=map(int,input().split(" "))
    a=list(map(int,input().split())) #原来这里写错了 在括号里面加了" " 也就是split(" ")  我也不知道为啥不对,大概跟前面的list有关吧
    temp=[i for i in a]
    a.sort()
    d1=l-a[-1]
    mark=[1 for i in range(n+1)]
    temp.insert(0,0)
    if(t<=d1):
        for i in range(1,n+1):
            temp[i]=temp[i]+t
    else:
        num=[0 for i in range(l+1)]
        for i in a:
            num[i]=1
        for t2 in range(t):
            for q in range(1,n+1):
                num[temp[q]]-=1
                temp[q]=temp[q]+mark[q]
                num[temp[q]]+=1
            
            for k in range(1,l):
                if(num[k]==2):
                    for i in range(1,n+1):
                        if(temp[i]==k):
                            mark[i]=-mark[i]
            for i in range(1,n+1):
                if(temp[i]>=l):
                    mark[i]=-1
                if(temp[i]<=0):
                    mark[i]=1
    for i in range(1,n+1):
        print(temp[i],end=" ")

    下面是简化代码,也是一直运行错误之后参考的代码

    n,l,t=map(int,input().split(" "))
    a=list(map(int,input().split()))###这里很重要
    temp=[i for i in a]
    mark=[1 for i in range(n)]
    for t2 in range(t):
        for q in range(n):
            if(temp[q]<=0 or temp[q]>=l):
                mark[q]=-mark[q]
            for i in range(q+1,n):
                if(temp[i]==temp[q]):
                    mark[i]=-mark[i]
                    mark[q]=-mark[q]
        for i in range(n):
            temp[i]=temp[i]+mark[i]
    
    for i in range(n):
        print(temp[i],end=" ")

    如果看到这篇,并且知道为啥那样运行错误,欢迎告知!

  • 相关阅读:
    Thinking in Java
    Interview Common Sample Codes
    Longest Common Substring
    Mac键盘按键符号
    ElasticSearch
    Variables and Arithmetic Expression
    Associative Containers
    Container Adaptors
    string Type
    初识 tk.mybatis.mapper 通用mapper
  • 原文地址:https://www.cnblogs.com/yz-lucky77/p/11740657.html
Copyright © 2011-2022 走看看