문제 :
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int[] result = new int[num];
for (int i = 0; i < num; i++) {
int x = scan.nextInt();
int y = scan.nextInt();
int dist = y - x;
int n = (int)Math.ceil(Math.sqrt(dist));
int maxDist =(int)Math.pow(Math.ceil(Math.sqrt(dist)),2);
int maxNum = n*2 -1 ;
int numberOfTimes = maxNum ;
if(dist <= maxDist-n) {
numberOfTimes = maxNum-1;
}
result[i] = numberOfTimes;
}
for(int res : result) {
System.out.println(res);
}
scan.close();
}
}
'알고리즘 > 심심풀이 문제풀기' 카테고리의 다른 글
[심심풀이 백준문제풀기] 1924번 2007년 (0) | 2018.03.04 |
---|---|
[심심풀이 백준문제풀기] 10250번 ACM 호텔 (0) | 2018.03.04 |
[심심풀이 백준문제풀기] 2438번 별찍기 - 1 (0) | 2018.03.03 |
[심심풀이 백준문제풀기] 2292번 벌집 (0) | 2018.03.03 |
[심심풀이 백준문제풀기] 1193번 분수찾기 (0) | 2018.03.03 |