๋ฌธ์
์ฐํ์ด๋ ์ด๋ฆฐ ์์ , ์ง๊ตฌ ์ธ์ ๋ค๋ฅธ ํ์ฑ์์๋ ์ธ๋ฅ๋ค์ด ์ด์๊ฐ ์ ์๋ ๋ฏธ๋๊ฐ ์ค๋ฆฌ๋ผ ๋ฏฟ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฐ ์ง๊ตฌ๋ผ๋ ์ธ์์ ๋ฐ์ ๋ด๋ ค ๋์ ์ง 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 < 231)
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด x์ง์ ์ผ๋ก๋ถํฐ y์ง์ ๊น์ง ์ ํํ ๋๋ฌํ๋๋ฐ ํ์ํ ์ต์ํ์ ๊ณต๊ฐ์ด๋ ์ฅ์น ์๋ ํ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
3
0 3
1 5
45 50
์์ ์ถ๋ ฅ 1
3
3
4
ํ์ด
ํ๋ฅผ ์ดํด๋ณด๋ฉด ์ด ๊ฑฐ๋ฆฌ๋ฅผ ๋๋๋ ๊ฒฝ๊ณ๋ฅผ ์ ์ ์๋ค.
- n์ ์ ๊ณฑ์ผ ๋ (2์ ์ ๊ณฑ 4, 3์ ์ ๊ณฑ 9, …)
- n์ ์ ๊ณฑ์ผ ๋ + n (2์ ์ ๊ณฑ 4 + 2 ์ธ 6, 3์ ์ ๊ณฑ 9 + 3์ธ 12, …)
์ด ๋๊ฐ์ง ๊ฒฝ๊ณ๋ก ์ด ์ด๋ ํ์๊ฐ ๋ฐ๋๋ค๋ ๊ฒ์ ์ ์ ์๋ค.
(์๋ฅผ๋ค์ด 9 ~ 15 ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ 9, 10~12, 12 ~ 15 ์ธ ๊ตฌ๊ฐ์ผ๋ก ๋๋์ด์ง๋ค)
์ฒซ๋ฒ์งธ ๊ฒฝ๊ณ์ ์ , ์ฆ ๊ฑฐ๋ฆฌ == n์ ์ ๊ณฑ ์ผ ๋๋ 2 * ๋ฃจํธn - 1 ํ ์ด๋ํ๊ณ
์ฒซ๋ฒ์งธ ๊ฒฝ๊ณ์ ๋๋ฒ์งธ ๊ฒฝ๊ณ์ ์ฌ์ด, ์ฆ ๊ฑฐ๋ฆฌ <= n์ ์ ๊ณฑ + n ์ผ ๋๋ 2 * ๋ฃจํธn ํ ์ด๋ํ๋ฉฐ
๋๋ฒ์งธ ๊ฒฝ๊ณ ์ดํ, ๊ฑฐ๋ฆฌ < n+1์ ์ ๊ณฑ ๊น์ง๋ 2 * ๋ฃจํธ + 1 ํ ์ด๋ํ๋ค.
1. X์ Y๋ฅผ ์ ๋ ฅ๋ฐ์ผ๋ฉด ์ฌ์ด ๊ฑฐ๋ฆฌ distance๋ฅผ ๊ตฌํ๋ค.
2. distance์ ๋ฃจํธ๊ฐ root๋ฅผ ๊ตฌํด ์์์ ์ ๋ฒ๋ฆฐ๋ค
3. distance์ root์ ์ ๊ณฑ์ด ๊ฐ์์ง ํ์ธํ๋ค. ๊ฐ๋ค๋ฉด ์ต์ ์ด๋ ํ์๋ 2 * root - 1
4. distance๊ฐ root์ ์ ๊ณฑ + root๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์์ง ํ์ธํ๋ค. ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์ต์ ์ด๋ ํ์๋ 2 * root
5. ๋๋จธ์ง๋ 2 * root + 1ํ ์ด๋ํ๋ค.
# 1011.py
import math
t = int(input())
for _ in range(t):
x, y = map(int, input().split())
distance = y - x
root = math.floor(math.sqrt(distance))
if distance == math.pow(root, 2):
print(2 * root - 1)
elif distance <= math.pow(root, 2) + root:
print(2 * root)
else:
print(2 * root + 1)