μ°νμ΄λ μ΄λ¦° μμ , μ§κ΅¬ μΈμ λ€λ₯Έ νμ±μμλ μΈλ₯λ€μ΄ μ΄μκ° μ μλ λ―Έλκ° μ€λ¦¬λΌ λ―Ώμλ€. κ·Έλ¦¬κ³ κ·Έκ° μ§κ΅¬λΌλ μΈμμ λ°μ λ΄λ € λμ μ§ 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μ§μ μΌλ‘ μ΄λνλλ° νμν κ³΅κ° μ΄λ μ₯μΉ μλ νμμ μ΅μκ°μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νλΌ.
d | μ΄λ 거리 | μ΄μ© νμ |
---|---|---|
1 | 1 | 1 |
2 | 1 1 | 2 |
3 | 1 1 1 | 3 |
4 | 1 2 1 | 3 |
5 | 1 2 1 1 | 4 |
6 | 1 2 2 1 | 4 |
7 | 1 2 2 1 1 | 5 |
8 | 1 2 2 2 1 | 5 |
10 | 1 2 3 2 1 1 | 6 |
11 | 1 2 3 2 2 1 | 6 |
12 | 1 2 3 3 2 1 | 6 |
13 | 1 2 3 3 2 1 1 | 7 |
14 | 1 2 3 3 2 2 1 | 7 |
15 | 1 2 3 3 3 2 1 | 7 |
16 | 1 2 3 4 3 2 1 | 7 |
17 | 1 2 3 4 3 2 1 1 | 8 |
18 | 1 2 3 4 3 2 2 1 | 8 |
19 | 1 2 3 4 3 3 2 1 | 8 |
20 | 1 2 3 4 4 3 2 1 | 8 |
d | μ΄μ© νμ |
---|---|
1 | 1 |
2 | 2 |
3, 4 | 3 |
5, 6 | 4 |
7, 8, 9 | 5 |
10, 11, 12 | 6 |
13, 14, 15, 16 | 7 |
17, 18, 19, 20 | 8 |
#include <stdio.h>
int main() {
int T;
scanf("%d", &T);
int x, y;
for (int i = 0; i < T; i++) {
scanf("%d %d", &x, &y);
long long int sum = 0;
int d = y-x;
int dx = 1;
while (d > sum + 2*dx) {
sum = sum + 2*dx;
dx++;
}
if (sum + dx >= d) printf("%d\n", 2*dx - 1);
else printf("%d\n", 2*dx);
}
return 0;
}