[백준] JAVA 1011: Fly me to the Alpha Centauri

2021. 12. 14. 00:01[백준] JAVA/기본 수학 1

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

 

1011번: Fly me to the Alpha Centauri

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

www.acmicpc.net


Solution:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();
		StringTokenizer st;
		int T = Integer.parseInt(br.readLine());
		
		for(int i=0;i<T;i++) {
			st = new StringTokenizer(br.readLine(), " ");
			int x = Integer.parseInt(st.nextToken());
			int y = Integer.parseInt(st.nextToken());
			int distance = y-x;

			int prime = (int)Math.sqrt(distance);
			
			if(prime == Math.sqrt(distance)) {
				sb.append(prime*2-1).append("\n");
			}
			else if(distance-prime*prime<=prime) {
				sb.append(prime*2).append("\n");
			}
			else {
				sb.append(prime*2+1).append("\n");
			}
			
		}
		System.out.print(sb);
		
		br.close();
	}
}