ABC207 C - Many Segments에서 배운






여유가 아니야?
아니, 여유롭게 WA.

부끄러운 착각



구간을 미만으로 했을 경우, 값 그 자체를 깎았다.

yarakashita.py
for _ in range(N):
    t,l,r = map(int,input().split())
    if t == 1:
        lis.append([l,r])
    elif t == 2:
        lis.append([l,r-1])
    elif t == 3:
        lis.append([l+1,r])
    else:
        lis.append([l+1,r-1])

하지만, 문제문에는 이하의 기재가 있다.
i 이상 j 이하의 실수로 이루어지는 구간에 공통 부분을 가지는 것과 같은 것이 몇 개 있습니까?
흠.
실수는 무엇! ?



과연, 우선 소수도 존재하는 영역인가.
그럼, -1 하면 안 되네요, 0.1 정도일까.

ManySegments_r0.py
N = int(input())
lis = []
for _ in range(N):
    t,l,r = map(int,input().split())
    if t == 1:
        lis.append([l,r])
    elif t == 2:
        lis.append([l,r-0.1])
    elif t == 3:
        lis.append([l+0.1,r])
    else:
        lis.append([l+0.1,r-0.1])
ans = 0
for i in range(N-1):
    for j in range(i+1,N):
        if lis[i][1] < lis[j][0] or lis[j][1] < lis[i][0]:
            continue
        else:
            ans += 1
print(ans)


문제 문장에 솔직하게 2<= N <= 2000 과 계산량이 적은
문제는, 상사, 방단금물인 것 같다.

좋은 웹페이지 즐겨찾기