반응형
https://www.acmicpc.net/problem/1011
코드1
1 2 3 4 5 6 7 8 9 | for c in range(int(input())) : x,y=map(int,input().split()) X=y-x;i=2;s=X if X<=2: print(X);continue I=[];S=[] while s>0:s-=i;S.append(s);i+=2;I.append(i) print(I[len(I)-2]-1 if S[len(S)-2]<=I[len(I)-2]/2 else I[len(I)-2]) | cs |
코드설명
X를 이동해야 하는 총 거리. 즉, input x,y에 대해 y-x라 할 때,
X에 따른 출력값은 다음과 같다.
X |
output |
description | S[len(S)-2] | I[len(I)-2] |
1 |
1 |
1 |
|
|
2 |
2 |
1+1 |
|
|
3 |
3 |
1+1+1 | 1 | 4 |
4 |
3 |
1+2+1 | 2 | 4 |
5 |
4 |
1+2+1+1 | 3 | 4 |
6 |
4 |
1+2+2+1 | 4 | 4 |
7 |
5 |
1+2+2+1+1 | 1 | 6 |
8 |
5 |
1+2+2+2+1 | 2 | 6 |
9 |
5 |
1+2+3+2+1 | 3 | 6 |
10 |
6 |
1+2+3+2+1+1 | 4 | 6 |
11 |
6 |
1+2+3+2+2+1 | 5 | 6 |
12 |
6 |
1+2+3+3+2+1 | 6 | 6 |
13 |
7 |
... | 1 | 8 |
14 |
7 |
| 2 | 8 |
15 |
7 |
| 3 | 8 |
16 |
7 |
| 4 | 8 |
17 |
8 |
| 5 | 8 |
18 |
8 |
| 6 | 8 |
19 |
8 |
| 7 | 8 |
20 |
8 |
| 8 | 8 |
21 |
9 |
| 1 | 9 |
... |
... |
|
|
|
코드2
1 2 3 | for _ in range(int(input())): x,y=map(int,input().split());X=int((y-x-1)**0.5) print(2*X+1 if y-x>X**2+X else 2*X) | cs |
코드설명
y-x |
X |
X**2 + X |
output |
1 |
0 |
0 |
1 |
2 |
1 |
2 |
2 |
3 |
1 |
2 |
3 |
4 |
1 |
2 |
3 |
5 |
2 |
6 |
4 |
6 |
2 |
6 |
4 |
7 |
2 |
6 |
5 |
8 |
2 |
6 |
5 |
9 |
2 |
6 |
5 |
10 |
3 |
12 |
6 |
11 |
3 |
12 |
6 |
12 |
3 |
12 |
6 |
13 |
3 |
12 |
7 |
14 |
3 |
12 |
7 |
15 |
3 |
12 |
7 |
16 |
3 |
12 |
7 |
17 |
4 |
20 |
8 |
18 |
4 |
20 |
8 |
19 |
4 |
20 |
8 |
20 |
4 |
20 |
8 |
21 |
4 |
20 |
9 |
... |
|
|
... |
반응형
'코딩테스트 연습 > 백준' 카테고리의 다른 글
[백준] 10250번 : ACM 호텔 in python (0) | 2019.09.06 |
---|---|
[백준] 2869번 : 달팽이는 올라가고 싶다 in python 파이썬 쉽게 설명하기 (0) | 2019.09.04 |
[백준] 1193번 : 분수찾기 in python 쉽게설명하기 (0) | 2019.08.28 |
[백준] 2292번 : 벌집 in python 코드 및 설명 (0) | 2019.08.24 |
[백준] 2839번 : 설탕 배달 in python (1) | 2019.08.23 |