[λ°±μ€/python] 1011λ² : Fly me to the Alpha Centauri
λ¬Έμ
μ°νμ΄λ μ΄λ¦° μμ , μ§κ΅¬ μΈμ λ€λ₯Έ νμ±μμλ μΈλ₯λ€μ΄ μ΄μκ° μ μλ λ―Έλκ° μ€λ¦¬λΌ λ―Ώμλ€. κ·Έλ¦¬κ³ κ·Έκ° μ§κ΅¬λΌλ μΈμμ λ°μ λ΄λ € λμ μ§ 23λ μ΄ μ§λ μ§κΈ, μΈκ³ μ΅μ°μ ASNA μ°μ£Ό λΉνμ¬κ° λμ΄ μλ‘μ΄ μΈκ³μ λ°μ λ΄λ € λλ μκ΄μ μκ°μ κΈ°λ€λ¦¬κ³ μλ€.
κ·Έκ° νμΉνκ² λ μ°μ£Όμ μ Alpha CentauriλΌλ μλ‘μ΄ μΈλ₯μ 보κΈμ리λ₯Ό κ°μ²νκΈ° μν λκ·λͺ¨ μν μ μ§ μμ€ν μ νμ¬νκ³ μκΈ° λλ¬Έμ, κ·Έ ν¬κΈ°μ μ§λμ΄ μμ²λ μ΄μ λ‘ μ΅μ κΈ°μ λ ₯μ μ΄ λμνμ¬ κ°λ°ν 곡κ°μ΄λ μ₯μΉλ₯Ό νμ¬νμλ€. νμ§λ§ μ΄ κ³΅κ°μ΄λ μ₯μΉλ μ΄λ 거리λ₯Ό κΈκ²©νκ² λ릴 κ²½μ° κΈ°κ³μ μ¬κ°ν κ²°ν¨μ΄ λ°μνλ λ¨μ μ΄ μμ΄μ, μ΄μ μλμκΈ°μ kκ΄λ μ μ΄λνμμ λλ k-1 , k νΉμ k+1 κ΄λ λ§μ λ€μ μ΄λν μ μλ€. μλ₯Ό λ€μ΄, μ΄ μ₯μΉλ₯Ό μ²μ μλμν¬ κ²½μ° -1 , 0 , 1 κ΄λ μ μ΄λ‘ μ μ΄λν μ μμΌλ μ¬μ€μ μμ νΉμ 0 거리λ§νΌμ μ΄λμ μλ―Έκ° μμΌλ―λ‘ 1 κ΄λ μ μ΄λν μ μμΌλ©°, κ·Έ λ€μμλ 0 , 1 , 2 κ΄λ μ μ΄λν μ μλ κ²μ΄λ€. ( μ¬κΈ°μ λ€μ 2κ΄λ μ μ΄λνλ€λ©΄ λ€μ μκΈ°μ 1, 2, 3 κ΄λ μ μ΄λν μ μλ€. )
κΉμ°νμ 곡κ°μ΄λ μ₯μΉ μλμμ μλμ§ μλͺ¨κ° ν¬λ€λ μ μ μ μκ³ μκΈ° λλ¬Έμ xμ§μ μμ yμ§μ μ ν₯ν΄ μ΅μνμ μλ νμλ‘ μ΄λνλ € νλ€. νμ§λ§ yμ§μ μ λμ°©ν΄μλ κ³΅κ° μ΄λμ₯μΉμ μμ μ±μ μνμ¬ yμ§μ μ λμ°©νκΈ° λ°λ‘ μ§μ μ μ΄λ거리λ λ°λμ 1κ΄λ μΌλ‘ νλ € νλ€.
κΉμ°νμ μν΄ xμ§μ λΆν° μ νν yμ§μ μΌλ‘ μ΄λνλλ° νμν κ³΅κ° μ΄λ μ₯μΉ μλ νμμ μ΅μκ°μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νλΌ.
μ λ ₯
μ λ ₯μ 첫 μ€μλ ν μ€νΈμΌμ΄μ€μ κ°μ Tκ° μ£Όμ΄μ§λ€. κ°κ°μ ν μ€νΈ μΌμ΄μ€μ λν΄ νμ¬ μμΉ x μ λͺ©ν μμΉ y κ° μ μλ‘ μ£Όμ΄μ§λ©°, xλ νμ yλ³΄λ€ μμ κ°μ κ°λλ€. (0 ≤ x < y < 2³¹)
μΆλ ₯
κ° ν μ€νΈ μΌμ΄μ€μ λν΄ xμ§μ μΌλ‘λΆν° yμ§μ κΉμ§ μ νν λλ¬νλλ° νμν μ΅μνμ 곡κ°μ΄λ μ₯μΉ μλ νμλ₯Ό μΆλ ₯νλ€.
μ λ΅
T = int(input())
answer = []
for i in range(T):
x, y = map(int, input().split())
i = 1
while True:
if y - x <= i*i:
answer.append(i+i-1)
break
if y - x <= i * i + i:
answer.append(i + i)
break
i += 1
for i in answer:
print(i)
κ° ν μ€νΈ μΌμ΄μ€λ§λ€ λ μ μ¬μ΄μ 거리λ₯Ό μ΄μ©νλ€.
κ±°λ¦¬κ° 1μΌλλΆν° μμνμ¬ κ° κ±°λ¦¬λ§λ€ λͺ λ²μ μ΄λν΄μΌνλμ§ μ΄ν΄λ³΄λ©° κ·μΉμ μ°Ύλλ€.
νλμ© μ΄ν΄λ³Έ κ²°κ³Ό, (iμ μ κ³±)κ³Ό (iμ μ κ³± + i)μ 거리μμ μ΄λνμκ° λ³νλ κ²μ μ μ μμλ€.
while True:
if y - x <= i*i:
answer.append(i+i-1)
break
if y - x <= i * i + i:
answer.append(i + i)
break
i += 1
iκ°μ 1μ© μ¦κ°μν€λ©΄μ λκ°μ§ κ²½μ° μ€ νλμ ν΄λΉν λμ iκ°μ μ°ΎκΈ°μν λ°λ³΅λ¬Έμ ꡬννλ€.
λ§μ½ λ μ μ¬μ΄μ 거리(y-x)κ° iμ μ κ³±λ³΄λ€ μκ±°λ κ°λ€λ©΄ μ΄λνμλ i+(i-1)μ΄λ€.
λ§μ½ λ μ μ¬μ΄μ 거리(y-x)κ° iμ μ κ³± + 1λ³΄λ€ μκ±°λ κ°λ€λ©΄ μ΄λνμλ i + iμ΄λ€.
answerμ κ° μΌμ΄μ€λ§λ€ μ΄λνμλ₯Ό μ μ₯νκ³ λͺ¨λ μΌμ΄μ€μ answerμ ꡬν ν νλμ© μΆλ ₯νλ€.
'πμκ³ λ¦¬μ¦ > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/python] 1436λ² : μνκ°λ μ (0) | 2021.03.16 |
---|---|
[λ°±μ€/python] 4948λ² : λ² λ₯΄νΈλ κ³΅μ€ (0) | 2021.03.16 |
[λ°±μ€/python] 2839λ² : μ€ν λ°°λ¬ (0) | 2021.03.16 |
[λ°±μ€/python] 1316λ² : κ·Έλ£Ή λ¨μ΄ 체컀 (0) | 2021.03.16 |
[λ°±μ€/python] 1021λ² : νμ νλ ν (0) | 2021.03.12 |