백준 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;
}
//=================================================