백준 9063 c++

magicdrill·2024년 3월 21일
0

백준 문제풀이

목록 보기
185/654

백준 9063 c++

#include <iostream>
using namespace std;

int input(int lower, int upper);
void input_array(int **arr, int row);
int calculate_land(int** arr, int row);
//=================================================
void new_dy_arr(int **arr, int row);
void delete_dy_arr(int** arr, int row);
//=================================================

int main(void)
{
	int N;
	int i;
	int** arr = nullptr;
	int land;

	N = input(1, 100000);

//=================================================
	//new_dy_arr(arr, N);
//=================================================
	arr = new int*[N];
	for (i = 0; i < N; i++)
	{
		arr[i] = new int[2];
	}
//=================================================

	input_array(arr, N);
	land = calculate_land(arr, N);
	cout << land << endl;

//=================================================
	//delete_dy_arr(arr, N);
//=================================================
	for (i = 0; i < N; i++)
	{
		delete[] arr[i];
	}
	delete[] arr;
//=================================================
	return 0;
}

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

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

	return A;
}

void input_array(int **arr, int row)
{
	int i;

	for (i = 0; i < row; i++)
	{
		arr[i][0] = input(-10000, 10000);
		arr[i][1] = input(-10000, 10000);
	}
	/*for (i = 0; i < row; i++)
	{
		cout << arr[i][0] << " " << arr[i][1]<< endl;
	}*/

	return;
}

int calculate_land(int** arr, int row)
{
	int i, land;
	int min_x, min_y, max_x, max_y;
	min_x = arr[0][0];
	max_x = arr[0][0];
	min_y = arr[0][1];
	max_y = arr[0][1];

	for (i = 1; i < row; i++)
	{
		if (arr[i][0] < min_x)
		{
			min_x = arr[i][0];
		}
		else if(arr[i][0] > max_x)
		{
			max_x = arr[i][0];
		}
		else
		{
			;
		}
		if (arr[i][1] < min_y)
		{
			min_y = arr[i][1];
		}
		else if(arr[i][1] > max_y)
		{
			max_y = arr[i][1];
		}
		else
		{
			;
		}
	}

	land = (max_x - min_x) * (max_y - min_y);
	return land;
}

//=================================================
void new_dy_arr(int** arr, int row)
{
	int i;
	arr = new int* [row];
	for (i = 0; i < row; i++)
	{
		arr[i] = new int[2];
	}
}

void delete_dy_arr(int** arr, int row)
{
	int i;
	for (i = 0; i < row; i++)
	{
		delete[] arr[i];
	}
	delete[] arr;
}
//=================================================

0개의 댓글