#32576: 求大佬偵錯


JimTsao (LIANG)

學校 : 臺北市立大理高級中學
編號 : 200115
來源 : [49.158.46.207]
最後登入時間 :
2022-10-23 08:20:09
b966. 3. 線段覆蓋長度 -- 2016年3月apcs | From: [49.158.46.207] | 發表日期 : 2022-10-22 02:55

不知哪裡有錯,送出是NA(70%)

 

while True:
 try:
  a=int(input())
  x=[]
  for i in range(a):
    y=list(map(int,input().split()))
    x.append(y)
  for i in range(len(x)):
    for j in range(len(x)-1):
        if x[j][0]>x[j+1][0]:
            x[j],x[j+1]=x[j+1],x[j]
  b=x[0][1]-x[0][0]
  for i in range(len(x)-1):
    if (x[i+1][1]>=x[i][1])and(x[i+1][0]<=x[i][1]): #[1,3],[2,4]
        b+=x[i+1][1]-x[i][1]
    elif (x[i+1][1]>=x[i][1])and(x[i+1][0]>=x[i][1]): #[1,2],[3,4]
        b+=x[i+1][1]-x[i+1][0]
    elif (x[i+1][1]<=x[i][1])and(x[i+1][0]<=x[i][1]): #[1,4],[2,3]
        b+=0
        x[i+1][1]=x[i][1]
  print(b)
 except:
  break

 
#32592: Re: 求大佬偵錯


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [101.136.203.77]
最後登入時間 :
2024-04-07 15:34:14
b966. 3. 線段覆蓋長度 -- 2016年3月apcs | From: [27.53.233.124] | 發表日期 : 2022-10-23 07:26


  for i in range(len(x)):
    for j in range(len(x)-1):
        if x[j][0]>x[j+1][0]:
            x[j],x[j+1]=x[j+1],x[j]


排序太慢,可以直接用內建的sort()就好了

 
ZeroJudge Forum