백준 1085 c++

magicdrill·2024년 2월 23일

백준 문제풀이

목록 보기
23/673

백준 1085 c++

#include <iostream>

using namespace std;

void input_xywh(int *x, int* y, int* w, int* h);
int input(int lower, int upper);
int min_len_boundary(int x, int y, int w, int h);

int main(void)
{
	int x, y, w, h;
	int min;

	input_xywh(&x, &y, &w, &h);
	min = min_len_boundary(x, y, w, h);
	cout << min;

	return 0;
}

void input_xywh(int* x, int* y, int* w, int* h)
{
	int A, B, C, D;
	while (1)
	{
		A = input(1, 1000);
		B = input(1, 1000);
		C = input(1, 1000);
		D = input(1, 1000);
		if ((A >= 1 && A <= C - 1) && (B >= 1 && B <= D - 1))
		{
			*x = A;
			*y = B;
			*w = C;
			*h = D;
			break;
		}
		else
		{
			;
		}
	}

	return;
}

int input(int lower, int upper)
{
	int A;

	while (1)
	{
		cin >> A;
		if (A >= lower && A <= upper)
		{
			break;
		}
		else
		{
			;
		}
	}

	return A;
}

int min_len_boundary(int x, int y, int w, int h)
{
	int length;
	int temp[4] = {x, y, w - x, h - y};
	length = temp[0];
	for (int i = 0; i < 4; i++)
	{
		if (temp[i] < length)
		{
			length = temp[i];
		}
		else
		{
			;
		}
	}

	return length;
}

0개의 댓글