본문 바로가기
백준 코딩테스트/9.수학 2

백준 1085) 직사각형에서 탈출 (c)

by xortl98 2020. 10. 28.
728x90

www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

첫째 줄에 x y w h가 주어진다. w와 h는 1,000보다 작거나 같은 자연수이고, x는 1보다 크거나 같고, w-1보다 작거나 같은 자연수이고, y는 1보다 크거나 같고, h-1보다 작거나 같은 자연수이다.

www.acmicpc.net

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.느낀점

어떻게 풀까 생각하다가 하나하나씩 변수를 선언하는거보다 배열 하나를 선언해서 푸는 방식으로

풀어봤다.