포스트

[ 백준 ] 1011번 Fly Me To The Alpha Centauri

문제



https://www.acmicpc.net/problem/1011

풀이



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;

int main() {
	int T;
	cin >> T;
	for (int test_case = 0; test_case < T; test_case++) {
		double x, y, result;
		cin >> x >> y;

		double i = 1;
		for (;; i++) {
			if (y - x < i*i)
				break;
		}

		//거리가 i-1의 제곱수일때
		if (y - x == (i - 1)*(i - 1)) {
			result = 2 * (i - 1) - 1;
		}
		//거리가 i-1의 제곱수와 중간값 사이에 있을 때
		else if (y - x < ((i - 1)*(i - 1) + i * i) / 2) {
			result = 2 * (i - 1);
		}
		//거리가 중간값과 i의 제곱수 사이에 있을 때
		else {
			result = 2 * i - 1;
		}
		cout << result << '\n';
	}
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.