#41559: why TLE?


s11104220@school.saihs.edu.tw (施同學)

學校 : 臺北市立松山高級工農職業學校
編號 : 221254
來源 : [118.165.27.136]
最後登入時間 :
2024-08-27 03:46:40
n083. 數字序號轉換 -- 106高中資訊競賽(台中) Q4 | From: [218.172.137.250] | 發表日期 : 2024-08-06 15:33

def main():
    from sys import stdin
    while True:
        try:
            s=stdin.readline().strip()
            ls=len(s)
            ans=0
            for i in range(0,ls,3):
                ss=s[i:min(i+3,ls)]
                if int(s[min(i+2,ls-1)])%2==0:ss=ss[::-1]
                ans+=int(ss)
            print(ans%997)
        except EOFError:break
if __name__=="__main__":main()
 
 
這樣時間複雜度是O(N*len(s)) 理論上不會超時?
 
#41587: Re: why TLE?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
n083. 數字序號轉換 -- 106高中資訊競賽(台中) Q4 | From: [111.71.216.5] | 發表日期 : 2024-08-08 16:10

 
    while True:
        try:
            s=stdin.readline().strip()


這樣比較快:

for line in stdin:
s=line.rstrip()

另外你誤會題目的意思了,我在你另一個主題回答你

 
ZeroJudge Forum