본문 바로가기

컴퓨터 과학/자료구조, 알고리즘

[Rust로 백준 하루 하나] 10-2. 직사각형에서 탈출

문제 (1085번)

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.

 

입력

첫째 줄에 x, y, w, h가 주어진다.

 

출력

첫째 줄에 문제의 정답을 출력한다.


풀이

코드

use std::io;
use std::cmp;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let input: Vec<&str> = input.split_whitespace().collect();

    let x = input[0].trim().parse::<u32>().unwrap();
    let y = input[1].trim().parse::<u32>().unwrap();
    let w = input[2].trim().parse::<u32>().unwrap();
    let h = input[3].trim().parse::<u32>().unwrap();

    let x_min = cmp::min(x-0, w-x);
    let y_min = cmp::min(y-0, h-y);

    println!("{}", cmp::min(x_min, y_min));
}

해설

특이사항 없음


추가 학습

  • 특이사항 없음