λ¬Έμ
κ·μ¬μ΄ λ¬Έμ λ€..
μμμ΄κ° κ°μμ§λ₯Ό μ°λ€λ¬λ€λ λ무 κ·μ¬μ΄κ±Έ..?
κ·μ¬μ!!!
νμ΄
첫째λ κ³Ό λ§μ§λ§λ μ 1cmλ§ μλ μ μλ€κ³ νλ€.
1cm μ°¨μ΄ : 1
2cm μ°¨μ΄ : 1 1
3cm μ°¨μ΄ : 1 1 1
4cm μ°¨μ΄ : 1 2 1
5cm μ°¨μ΄ : 1 2 1 1
6cm μ°¨μ΄ : 1 2 2 1
7cm μ°¨μ΄ : 1 2 2 1 1
8cm μ°¨μ΄ : 1 2 2 2 1
9cm μ°¨μ΄ : 1 2 3 2 1
10cm μ°¨μ΄ : 1 2 3 2 1 1
11cm μ°¨μ΄ : 1 2 3 2 2 1
12cm μ°¨μ΄ : 1 2 3 3 2 1
13cm μ°¨μ΄ : 1 2 3 3 2 1 1
14cm μ°¨μ΄ : 1 2 3 3 2 2 1
15cm μ°¨μ΄ : 1 2 3 3 3 2 1
16cm μ°¨μ΄ : 1 2 3 4 3 2 1
17cm μ°¨μ΄ : 1 2 3 4 3 2 1 1
...
μ΄λ°μμΌλ‘ μ«μκ° μ¦κ°ν κ²μ΄λ€.
κ·Έλμ κ·μΉμ± μ°ΎκΈ° -> λ‘μ§ κ΅¬ννκΈ°λ‘ λ¬Έμ λ₯Ό νμλ€.
sqrtκΉμ§ μκ°νλλ° κ·Έ λ€μμ μ΄λ»κ² μ§νν μ§ λͺ°λΌμ λ€λ₯Έ λΈλ‘κ·ΈκΈμμ ννΈλ₯Ό μ»μ΄μ νμλ€.
package algorithm;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Heap_11296 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
long monkey = Integer.parseInt(st.nextToken()); // μμμ΄ ν€
long dog = Integer.parseInt(st.nextToken()); // κ°μμ§ ν€
long subtract = dog - monkey; // ν€ μ°¨μ΄
long sqrt = (long) Math.floor(Math.sqrt(subtract)); // ν€ μ°¨μ΄μ μ κ³±κ·Ό
subtract -= sqrt*sqrt; // ν€ μ°¨μ΄ - μ κ³±κ·Ό^2
long answer = sqrt>0 ? sqrt * 2 - 1 : 0; // λ§μ½ μμμ΄μ κ°μμ§μ ν€ μ°¨μ΄κ° 0μ΄λ©΄ answer 0 μ€μ
if (subtract > sqrt) { // ν μ κ³±κ·Όκ³Ό λ€μ μ κ³±κ·Ό μ¬μ΄μ μ€κ°λ³΄λ€ λ€μ μμΌλ©΄
answer += 2;
} else if (subtract > 0 && subtract <= sqrt) { // ν μ κ³±κ·Όκ³Ό λ€μ μ κ³±κ·Ό μ¬μ΄μ μ€κ°λ³΄λ€ μμ μμΌλ©΄
answer += 1;
}
System.out.println(answer);
}
}
'π°ππππππππ > π±πππππππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/Java] μ°½μλ§μ 3028 (0) | 2023.11.13 |
---|---|
[λ°±μ€/Java] κ²½κ³ 3029 (1) | 2023.11.12 |
[λ°±μ€/Java] ν΄λ¦¬μ€λ―Έλ Έ 1343 (0) | 2023.11.10 |
[λ°±μ€/Java] λ‘ν 2217 (1) | 2023.11.09 |
[λ°±μ€/Java] μλ°μ κ°νΈ 1758 (0) | 2023.11.08 |