728x90
1.문제
한수는 지금 (x, y)에 있다. 직사각형의 왼쪽 아래 꼭짓점은 (0, 0)에 있고, 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오.
2.입력
첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다.
3.소스
#include<stdio.h>
int main()
{
int square[6] = { 0, };
int i = 0;
scanf("%d %d %d %d", &square[0], &square[1], &square[2], &square[3]); //각각 x y w h
int min = square[0];
square[4] = square[2] - square[0]; //w-x값
square[5] = square[3] - square[1]; //h-y값
for (i = 1; i < 6; i++) //가장 탈출 빠른 값 출력
{
if (min >= square[i]) min = square[i];
}
printf("%d", min);
}
/*
1<=x<=w-1
1<=y<=h-1
*/
4.느낀점
어떻게 풀까 생각하다가 하나하나씩 변수를 선언하는거보다 배열 하나를 선언해서 푸는 방식으로
풀어봤다.
'백준 코딩테스트 > 9.수학 2' 카테고리의 다른 글
백준 4153) 직각삼각형 (c) (0) | 2020.11.03 |
---|---|
백준 3009) 네 번째 점 (c) (0) | 2020.11.03 |
백준 9020) 골드바흐의 추측 (c) (0) | 2020.10.28 |
백준 4948) 베르트랑 공준 (c) (0) | 2020.10.22 |
백준 1929) 소수 구하기 (c) (0) | 2020.10.21 |