- 1.26 fail - invalid
하 이거 어케하누 ㅋㅋ
뭔가 알듯하면서 모르겠음
이걸 수식을 어케 새울지 모르겠음
일단 코드는 이렇게 짜봤음
https://github.com/cyanindy/baekjoon_online_judge/commit/72b4cf55e1cffcec05c5d9b4b59031ad7424374d
핀트를 잡아내야 하는데 감을 못잡고있음
못푸는 문제가 2문제로 늘었네
- 2.7 fail-timeover
2주만에 재도전했지만 실패했다
답은 나오는것 같지만 시간초과란다...
#https://www.acmicpc.net/problem/1011
def lightyear(x,y) :
dist=y-x
t1,t2=1,2
if dist==1 : return 1
elif dist==2 : return 2
else :
group=1
while True :
ls=[]
ls=[k for k in range(4, (2+2*group)+1, 2) ]
#print(ls)
group_last_n=sum(ls)+2
if dist<= group_last_n :
#print(group)
#print(group_last_n)
break
else :
group+=1
for i in range(0, group) :
t1+=2
t2+=2
if group_last_n-(group+1)<dist : return t2
else : return t1
n=int(input())
result=[]
for i in range(0,n) :
a,b=map(int, input().split())
result.append(lightyear(a,b))
for j in range(0,n) :
print(result[j])
코드 깃허브
https://github.com/cyanindy/baekjoon_online_judge/blob/main/python3/step8/1011.py
일단 코드를 짤 때,
입력값 x, y 의 차이를 dist 로 두고
각 dist 별 time이 규칙이 있는 점을 이용해서 코드를 짜보았다.
dist - time - group 을 만들어서
dist가 입력되면 group을 찾고 그안에서 time 을 찾게끔 만들어보려고 했는데
시간초과가 나버린다...
아무래도 while 문을 써서 처음부터 돌려버리면 시간초과가 나는것 같다.
각 그룹의 끝번호를 계차수열이 등차일때 일반항을 구하는 공식에서 가져왔다.
좀더 고민해보고 안되면 걍 구글링 할란다 ㅅㅂ
'파이썬 > 알고리즘' 카테고리의 다른 글
success - Baekjoon 9단계-7 1085번 직사각형에서 탈출 python3 (0) | 2022.02.09 |
---|---|
success - Baekjoon 9단계-6 9020번 골드바흐 추측 python3 (0) | 2022.02.08 |
success - Baekjoon 9단계-5 4948번 베르트랑 공준 python3 (0) | 2022.02.07 |
success - Baekjoon 9단계-4 / 1929번 소수 구하기 python3 (0) | 2022.02.04 |
success - Baekjoon 8단계-6 / 2775번 부녀회장이 될테야 python3 (0) | 2022.02.03 |