νμλ μ§κΈ (x, y)μ μλ€. μ§μ¬κ°νμ κ° λ³μ΄ μ’νμΆμ νννκ³ , μΌμͺ½ μλ κΌμ§μ μ (0, 0), μ€λ₯Έμͺ½ μ κΌμ§μ μ (w, h)μ μλ€. μ§μ¬κ°νμ κ²½κ³μ κΉμ§ κ°λ 거리μ μ΅μκ°μ ꡬνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
첫째 μ€μ x, y, w, hκ° μ£Όμ΄μ§λ€.
첫째 μ€μ λ¬Έμ μ μ λ΅μ μΆλ ₯νλ€.
1 β€ w, h β€ 1,000
1 β€ x β€ w-1
1 β€ y β€ h-1
x, y, w, hλ μ μ
μμ μ
λ ₯ 1
6 2 10 3
μμ μΆλ ₯ 1
1
μμ μ
λ ₯ 2
1 1 5 5
μμ μΆλ ₯ 2
1
μμ μ
λ ₯ 3
653 375 1000 1000
μμ μΆλ ₯ 3
347
μμ μ
λ ₯ 4
161 181 762 375
μμ μΆλ ₯ 4
161
μμ λ₯Ό μ½κ² μ€λͺ νμλ©΄ λ€μκ³Ό κ°λ€.
x
, y
μ μ¬λμ΄ μκ³ 0
, 0
λΆν° w
, h
κΉμ§κ° μ¬κ°νμ λμ΄λΌλ©΄ μ΄λ€ κΈΈλ‘ κ°μΌ μ΅λ¨ 루νΈμΌκΉ?
λΉμ°ν μλ‘ κ°λ©΄ 1
μ κ±°λ¦¬λ‘ λμ°©νλ©°, νμ¬ μμΉμμ λ μ κΉμ§μ 거리λ λ μ - νμ¬ μμΉ
μ΄λ€. μ΄ μμλ μ¦ h - y
const [x, y, w, h] = require('fs').readFileSync('/dev/stdin').toString().trim().split(' ').map(a => Number(a));
// ν΄λΉ λ¬Έμ λ νμ¬ μμΉμΈ x, yμμ μμ μ’ν x = 0 || y = 0 μΌλ‘ λμκ°λκ² μ΅μ 거리μΈμ§
// x, y μμ ν° μ§μ¬κ°νμ ν κ²½κ³λ©΄ μ¦ x = w - x || y = h - y λ‘ μ¬λΌκ°κ±°λ μ°μΈ‘μΌλ‘ κ°λκ² μ΅μ 거리μΈμ§ νλ¨
// λ ν° μ¬κ°νμ λ³μΌλ‘ μ΄λ(μ°ν₯, μν₯)
const goRight = w - x
const goUp = h - y
// μμ μ λ³μΌλ‘ μ΄λ(μ’ν₯, νν₯)
const goLeft = x
const goDown = y
console.log(Math.min(goRight, goUp, goLeft, goDown))