백준 1085 직사각형에서 탈출 풀이

2023. 4. 18. 22:35카테고리 없음

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

 

요약하자면

(x, y) (w, h)와 같은 형태로 좌표를 입력해 주면 직 사각형의 경계선까지의 거리의 최솟값을 출력하는 프로그램입니다.

 

저는 아래와 같은 코드를 작성하였습니다.

이 문제는 재귀함수를 사용해서 다시 풀어볼 예정이며

이러한 코드보단 함수를 사용하면 더 간단한 코드로 만들 수 있습니다.

 

#include<stdio.h>
int main(void){
    
    int x,y,a,b,c,d;
    
    scanf("%d %d %d %d",&x,&y,&a,&b); //좌표 값 입력받기
    
    if(x <a-x){ //최솟값 구하는 조건문
        c=x;
    }
    else{
        c=a-x;
    }
    if(y<b-y){
        d=y;
    }
    else{
        d=b-y;
    }
    if(c<d){
        printf("%d\n",c);
    }else{
        printf("%d\n",d);
    }
}