可以先对数据预处理一下,保证每根面条的a<b,然后按a降序排序,选出的面条序列肯定是前一根的 a要大于或等于后一根的 b,记录数量,循环遍历整个list,最后取出数量的最大值。我是这样想的,如果有更好的思路,可以分享~ python代码: n = int(input())
a = []
for i in range(n):
a.append(list(map(int,input().strip().split())))
# 保证 a < b
for nood in a:
if nood[0] > nood[1]:
tmp = nood[0]
nood[0] = nood[1]
nood[1] = tmp
# 降序排序
a.sort(reverse=True)
res = []
for i in range(n):
t = a[i][0]
count = 1
for j in range(i+1,n):
if t >= a[j][1]:
count += 1 # 记录面条数量
t = a[j][0]
res.append(count)
print(max(res))