[๋ฐฑ์ค] 2628๋ฒ - ์ข ์ด์๋ฅด๊ธฐ (C++)
๋ฌธ์
์๋ <๊ทธ๋ฆผ 1>๊ณผ ๊ฐ์ด ์ง์ฌ๊ฐํ ๋ชจ์์ ์ข ์ด๊ฐ ์๋ค. ์ด ์ข ์ด๋ ๊ฐ๋ก๋ฐฉํฅ๊ณผ ์ธ๋ก ๋ฐฉํฅ์ผ๋ก 1ใ๋ง๋ค ์ ์ ์ด ๊ทธ์ด์ ธ ์๋ค. ๊ฐ๋ก ์ ์ ์ ์์์ ์๋๋ก 1๋ฒ๋ถํฐ ์ฐจ๋ก๋ก ๋ฒํธ๊ฐ ๋ถ์ด ์๊ณ , ์ธ๋ก ์ ์ ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฒํธ๊ฐ ๋ถ์ด ์๋ค.

<๊ทธ๋ฆผ 1>
์ ์ ์ ๋ฐ๋ผ ์ด ์ข ์ด๋ฅผ ์นผ๋ก ์๋ฅด๋ ค๊ณ ํ๋ค. ๊ฐ๋ก ์ ์ ์ ๋ฐ๋ผ ์๋ฅด๋ ๊ฒฝ์ฐ๋ ์ข ์ด์ ์ผ์ชฝ ๋์์ ์ค๋ฅธ์ชฝ ๋๊น์ง, ์ธ๋ก ์ ์ ์ธ ๊ฒฝ์ฐ๋ ์์ชฝ ๋์์ ์๋์ชฝ ๋๊น์ง ํ ๋ฒ์ ์๋ฅธ๋ค. ์๋ฅผ ๋ค์ด, <๊ทธ๋ฆผ 1>์ ๊ฐ๋ก ๊ธธ์ด 10ใ์ด๊ณ ์ธ๋ก ๊ธธ์ด 8ใ์ธ ์ข ์ด๋ฅผ 3๋ฒ ๊ฐ๋ก ์ ์ , 4๋ฒ ์ธ๋ก ์ ์ , ๊ทธ๋ฆฌ๊ณ 2๋ฒ ๊ฐ๋ก ์ ์ ์ ๋ฐ๋ผ ์๋ฅด๋ฉด <๊ทธ๋ฆผ 2>์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ ์ข ์ด ์กฐ๊ฐ์ผ๋ก ๋๋๊ฒ ๋๋ค. ์ด๋ ๊ฐ์ฅ ํฐ ์ข ์ด ์กฐ๊ฐ์ ๋์ด๋ 30ใ ์ด๋ค.

<๊ทธ๋ฆผ 2>
์ ๋ ฅ์ผ๋ก ์ข ์ด์ ๊ฐ๋ก ์ธ๋ก ๊ธธ์ด, ๊ทธ๋ฆฌ๊ณ ์๋ผ์ผํ ์ ์ ๋ค์ด ์ฃผ์ด์ง ๋, ๊ฐ์ฅ ํฐ ์ข ์ด ์กฐ๊ฐ์ ๋์ด๊ฐ ๋ช ใ ์ธ์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์ค์๋ ์ข ์ด์ ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๊ฐ ์ฐจ๋ก๋ก ์์ฐ์๋ก ์ฃผ์ด์ง๋ค. ๊ฐ๋ก์ ์ธ๋ก์ ๊ธธ์ด๋ ์ต๋ 100ใ์ด๋ค. ๋์งธ ์ค์๋ ์นผ๋ก ์๋ผ์ผํ๋ ์ ์ ์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ ์งธ ์ค๋ถํฐ ๋ง์ง๋ง ์ค๊น์ง ํ ์ค์ ์ ์ ์ด ํ๋์ฉ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์ ๋ ฅ๋๋ค. ๊ฐ๋ก๋ก ์๋ฅด๋ ์ ์ ์ 0๊ณผ ์ ์ ๋ฒํธ๊ฐ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๊ณ , ์ธ๋ก๋ก ์๋ฅด๋ ์ ์ ์ 1๊ณผ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ ๋ ฅ๋๋ ๋ ์ซ์ ์ฌ์ด์๋ ๋น ์นธ์ด ํ๋์ฉ ์๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๊ฐ์ฅ ํฐ ์ข ์ด ์กฐ๊ฐ์ ๋์ด๋ฅผ ์ถ๋ ฅํ๋ค. ๋จ, ๋์ด์ ๋จ์๋ ์ถ๋ ฅํ์ง ์๋๋ค.
์์ ์ ๋ ฅ 1 ๋ณต์ฌ
10 8
3
0 3
1 4
0 2
์์ ์ถ๋ ฅ 1 ๋ณต์ฌ
30
ํ์ด๊ณผ์
์ ๊ทผ์ ์ด๋ป๊ฒ ํ๋๊ฐ๊ฐ ์ค์ํ๋ ๋ฌธ์ ๊ฐ๋ค.
์ ๊ทผ์ ํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ๊ฐํ์ ๋์ด๋ฅผ ๊ตฌํ๋ ๊ณต์์ด ์ฌ๊ฐํ ๋์ด: ๊ฐ๋ก X ์ธ๋ก ์ด๋ฏ๋ก ์ฆ ๊ฐ์ฅ ํฐ ์ฌ๊ฐํ์
๊ฐ์ฅ ํฐ ๊ฐ๋ก * ๊ฐ์ฅ ํฐ ์ธ๋ก ๋ผ๋ ์ฌ์ค์ ์ ์ ์๋ค. ๊ทธ๋์ ๋ํ์ ์๋ฌด๋ฆฌ ๊ฐ๋ก๋ก ์๋ฅด๊ณ ์ธ๋ก๋ก ์๋ฅธ๋ค๊ณ ํด๋
์งค๋ฆฐ ์ธ๋ก ์ค์ ๊ฐ์ฅ ๊ธด ๊ธธ์ด * ์งค๋ฆฐ ๊ฐ๋ก ์ค์ ๊ฐ์ฅ ๊ธด ๊ธธ์ด๊ฐ ๊ฐ์ฅ ํฐ ์ฌ๊ฐํ์ ์ฐพ๋ ๊ท์น์ด ๋๊ฒ ๋๋ค.
๊ทธ๋์ ๋ค์ด์๋ ์ ๋ ฅ๊ฐ๋ค์ ํฌ๊ธฐ์์ผ๋ก ์ ๋ ฌ์ ํ ๋ค์, ๊ฐ์ฅ ๋ฒ์๊ฐ ๋์ ์ธ๋ก๊ธธ์ด์ ๊ฐ์ฅ ๋ฒ์๊ฐ ๋์ ๊ฐ๋ก๊ธธ์ด๋ฅผ ๊ณฑํ๊ฒ ๋๋ฉด
๋ฌธ์ ์์ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ์ ๊ตฌํ ์ ์๊ฒ๋๋ ๋ฌธ์ ์๋ค.
code
#include <iostream>
#include <algorithm>
#include <vector>
// ๊ฐ๋ก 0, ์ธ๋ก 1
int main(void)
{
int y, x, n, dir, num, rowMax = -1, columnMax = -1;
std::vector <int> row, column;
std::cin >> x >> y;
std::cin >> n;
row.push_back(0);
row.push_back(x);
column.push_back(0);
column.push_back(y);
for(int i = 0; i < n; i++) {
std::cin >> dir >> num;
if (dir == 1) row.push_back(num);
else column.push_back(num);
}
std::sort(row.begin(), row.end());
std::sort(column.begin(), column.end());
for (int i = 0; i < row.size(); i++)
if (row.size() > i + 1 && row[i + 1] - row[i] > rowMax)
rowMax = row[i + 1] - row[i];
for (int i = 0; i < column.size(); i++)
if (column.size() > i + 1 && column[i + 1] - column[i] > columnMax)
columnMax = column[i + 1] - column[i];
std::cout << rowMax * columnMax;
return (0);
}
ํ๊ธฐ
๋ฌธ์ ์ ์ถ์ฒ๋ฅผ ๋ณด๋ ์ด๋ฑ๋ถ ์ฌ๋ฆผํผ์๋ ๋ฌธ์ ๋๋ผ..
์ ๊ฑธ ๋ณด๊ณ "์์ฆ ์ด๋ฑ๋ถ์ ๋ค์ ์ ๋ฐ ๋ฌธ์ ๋ฅผ ํธ๋๊ตฌ๋ ๋๋จํ๋ค" ๋ผ๊ณ ์๊ฐ์ด ๋ค์ด๊ฐ์ง๊ณ ๋ ์ด์ฌํ ํด์ผ๊ฒ ๋ค๋ผ๊ณ ์๊ฐ์ ํ๊ฒ๋์๋ค.