From 33dcb93ff97c5da7895a5fcba54a8581e829ebea Mon Sep 17 00:00:00 2001 From: Ukj0ng <90972240+Ukj0ng@users.noreply.github.com> Date: Wed, 24 Sep 2025 22:30:05 +0900 Subject: [PATCH] =?UTF-8?q?[20250923]=20BOJ=20/=20G5=20/=20Steps=20/=20?= =?UTF-8?q?=ED=95=9C=EC=A2=85=EC=9A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ukj0ng/202509/23 BOJ G5 Steps.md | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Ukj0ng/202509/23 BOJ G5 Steps.md diff --git a/Ukj0ng/202509/23 BOJ G5 Steps.md b/Ukj0ng/202509/23 BOJ G5 Steps.md new file mode 100644 index 00000000..09836302 --- /dev/null +++ b/Ukj0ng/202509/23 BOJ G5 Steps.md @@ -0,0 +1,42 @@ +``` +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + int T = Integer.parseInt(br.readLine()); + + while (T-- > 0) { + StringTokenizer st = new StringTokenizer(br.readLine()); + long x = Long.parseLong(st.nextToken()); + long y = Long.parseLong(st.nextToken()); + long d = y - x; + + if (d == 0) { + bw.write("0\n"); + continue; + } + + long k = (long) Math.sqrt(d); + + while (k * k < d) k++; + while (k * k > d) k--; + + if (k * k == d) { + bw.write((2 * k - 1) + "\n"); + } else if (d <= k * k + k) { + bw.write((2 * k) + "\n"); + } else { + bw.write((2 * k + 1) + "\n"); + } + } + + bw.flush(); + bw.close(); + br.close(); + } +} +```