알고리즘 문제

[백준] 1011번 Fly me to the Alpha Centauri

feelcoding 2021. 2. 10. 19:21
728x90

www.acmicpc.net/problem/1011

 

1011번: Fly me to the Alpha Centauri

우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행

www.acmicpc.net

전에 풀어봤었는데 다시 풀어본다. 전에는 찾아보니까 규칙을 찾아서 풀었었나보다. 근데 그 때는 구글링해서 방법을 알아냈던 것 같고 이번에는 정말 나 스스로 풀었다. 이번에는 반복문을 이용하여 풀었다.

#include <iostream>
using namespace std;

int main() {
	int testCase;
	cin >> testCase;
	int x, y;
	for (int t = 0; t < testCase; t++) {
		cin >> x >> y;
		y = y - x;
		x = 0;
		int location = 0;
		int cnt = 0;
		for (int i = 1; ; i++) {
			if (y - location * 2 == 0) {
				break;
			}
			else if (y - location * 2 <= i) {
				cnt++;
				break;
			}
			else if (y - (location + i) * 2 < 0) {
				cnt += 2;
				break;
			}
			cnt += 2;
			location += i;
		}
		cout << cnt << '\n';
	}
	return 0;
}
728x90