BOJ 2477. ์ฐธ์ธ๋ฐญ
๐โโ๏ธ[Silver II] ์ฐธ์ธ๋ฐญ - 2477
์ฑ๋ฅ ์์ฝ
๋ฉ๋ชจ๋ฆฌ: 2020 KB, ์๊ฐ: 0 ms
๋ถ๋ฅ
๊ธฐํํ, ๊ตฌํ, ์ํ
์ ์ถ ์ผ์
2023๋ 12์ 23์ผ 19:58:06
๋ฌธ์ ์ค๋ช
์๊ณจ์ ์๋ ํ์์ด์ ์ผ์ด ๋์๋ ์ปค๋ค๋ ์ฐธ์ธ๋ฐญ์ด ์๋ค. ๋ฌธ๋ ํ์์ด๋ ์ด ๋ฐญ์์ ์๋ผ๋ ์ฐธ์ธ๊ฐ ๋๋์ฒด ๋ช ๊ฐ๋ ๋๋์ง ๊ถ๊ธํด์ก๋ค. ์ด๋ป๊ฒ ์์๋ผ ์ ์๋์ง ๊ณจ๋ํ ์๊ฐํ๋ค๊ฐ ๋๋์ด ์ข์ ์์ด๋์ด๊ฐ ๋ ์ฌ๋๋ค. ์ ๋ ์นด! 1m2์ ๋์ด์ ์๋ผ๋ ์ฐธ์ธ ๊ฐ์๋ฅผ ํค์๋ฆฐ ๋ค์, ์ฐธ์ธ๋ฐญ์ ๋์ด๋ฅผ ๊ตฌํ๋ฉด ๋น๋ก์์ ์ด์ฉํ์ฌ ์ฐธ์ธ์ ์ด๊ฐ์๋ฅผ ๊ตฌํ ์ ์๋ค.
1m2์ ๋์ด์ ์๋ผ๋ ์ฐธ์ธ์ ๊ฐ์๋ ํค์๋ ธ๊ณ , ์ด์ ์ฐธ์ธ๋ฐญ์ ๋์ด๋ง ๊ตฌํ๋ฉด ๋๋ค. ์ฐธ์ธ๋ฐญ์ ใฑ-์ ๋ชจ์์ด๊ฑฐ๋ ใฑ-์๋ฅผ 90๋, 180๋, 270๋ ํ์ ํ ๋ชจ์(โ, โ, โ ๋ชจ์)์ ์ก๊ฐํ์ด๋ค. ๋คํํ๋ ๋ฐญ์ ๊ฒฝ๊ณ(์ก๊ฐํ์ ๋ณ)๋ ๋ชจ๋ ๋์ ๋ฐฉํฅ์ด๊ฑฐ๋ ๋จ๋ถ ๋ฐฉํฅ์ด์๋ค. ๋ฐญ์ ํ ๋ชจํ์ด์์ ์ถ๋ฐํ์ฌ ๋ฐญ์ ๋๋ ๋ฅผ ๋๋ฉด์ ๋ฐญ๊ฒฝ๊ณ ๊ธธ์ด๋ฅผ ๋ชจ๋ ์ธก์ ํ์๋ค.
์๋ฅผ ๋ค์ด ์ฐธ์ธ๋ฐญ์ด ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ๋ชจ์์ด๋ผ๊ณ ํ์. ๊ทธ๋ฆผ์์ ์ค๋ฅธ์ชฝ์ ๋์ชฝ, ์ผ์ชฝ์ ์์ชฝ, ์๋์ชฝ์ ๋จ์ชฝ, ์์ชฝ์ ๋ถ์ชฝ์ด๋ค. ์ด ๊ทธ๋ฆผ์ ์ผ์ชฝ์ ๊ผญ์ง์ ์์ ์ถ๋ฐํ์ฌ, ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋จ์ชฝ์ผ๋ก 30m, ๋์ชฝ์ผ๋ก 60m, ๋จ์ชฝ์ผ๋ก 20m, ๋์ชฝ์ผ๋ก 100m, ๋ถ์ชฝ์ผ๋ก 50m, ์์ชฝ์ผ๋ก 160m ์ด๋ํ๋ฉด ๋ค์ ์ถ๋ฐ์ ์ผ๋ก ๋๋์๊ฐ๊ฒ ๋๋ค.
์ ๊ทธ๋ฆผ์ ์ฐธ์ธ๋ฐญ ๋ฉด์ ์ 6800m2์ด๋ค. ๋ง์ฝ 1m2์ ๋์ด์ ์๋ผ๋ ์ฐธ์ธ์ ๊ฐ์๊ฐ 7์ด๋ผ๋ฉด, ์ด ๋ฐญ์์ ์๋ผ๋ ์ฐธ์ธ์ ๊ฐ์๋ 47600์ผ๋ก ๊ณ์ฐ๋๋ค.
1m2์ ๋์ด์ ์๋ผ๋ ์ฐธ์ธ์ ๊ฐ์์, ์ฐธ์ธ๋ฐญ์ ์ด๋ฃจ๋ ์ก๊ฐํ์ ์์์ ํ ๊ผญ์ง์ ์์ ์ถ๋ฐํ์ฌ ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ๋ฅผ ๋๋ฉด์ ์ง๋๋ ๋ณ์ ๋ฐฉํฅ๊ณผ ๊ธธ์ด๊ฐ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด ์ฐธ์ธ๋ฐญ์์ ์๋ผ๋ ์ฐธ์ธ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ 1m2์ ๋์ด์ ์๋ผ๋ ์ฐธ์ธ์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์์ ์ ์ K (1 โค K โค 20)๊ฐ ์ฃผ์ด์ง๋ค. ์ฐธ์ธ๋ฐญ์ ๋ํ๋ด๋ ์ก๊ฐํ์ ์์์ ํ ๊ผญ์ง์ ์์ ์ถ๋ฐํ์ฌ ๋ฐ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ๋ฅผ ๋๋ฉด์ ์ง๋๋ ๋ณ์ ๋ฐฉํฅ๊ณผ ๊ธธ์ด (1 ์ด์ 500 ์ดํ์ ์ ์) ๊ฐ ๋์งธ ์ค๋ถํฐ ์ผ๊ณฑ ๋ฒ์งธ ์ค๊น์ง ํ ์ค์ ํ๋์ฉ ์์๋๋ก ์ฃผ์ด์ง๋ค. ๋ณ์ ๋ฐฉํฅ์์ ๋์ชฝ์ 1, ์์ชฝ์ 2, ๋จ์ชฝ์ 3, ๋ถ์ชฝ์ 4๋ก ๋ํ๋ธ๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋ฐญ์์ ์๋ผ๋ ์ฐธ์ธ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ํ์ด
์ฌ์ด ๋ฌธ์ ์ธ์ค ์์๋๋ฐ ์ด๋ ค์ ๋ค.
ํฐ ์ฌ๊ฐํ์์ ์์ ์ฌ๊ฐํ์ ๋นผ๊ณ ์ถ์๋๋ฐ ํฐ ์ฌ๊ฐํ์ ๊ตฌํ๊ธฐ ์ฌ์ ์ง๋ง ์์ ์ฌ๊ฐํ์ ๊น๋ค๋ก์ ๋ค.
์ง๊ด์ ์ผ๋ก ๋ฐฉํฅ์ด ์ค๋ณต ๋ ๋ ์์ ๊ฐ์ผ๋ก ์์ ์ฌ๊ฐํ์ ๊ธธ์ด๋ก ์ ํ๋ฉด ๋๊ฒ ๋ค๋ผ๊ณ ์๊ฐํ๋๋ฐ ์๋์๋ค.
์๊ฐํด๋ณด๋ ๋ ผ๋ฆฌ์ ์ผ๋ก๋ ์๋ง์๋ค.
๊ทธ ํ ์ด๋ค ๋ชจ์์ธ์ง์ ๋ฐ๋ผ์ ๊ณ์ฐ์ด ๋ฌ๋ผ์ง๋ค๊ณ ์๊ฐํด์ ๋ชจ์์ ์ฐพ์๋ค.
ใฑ
๋ชจ์์ ๊ฒฝ์ฐ ๋์ชฝ๋ค์ ๋จ์ชฝ์ด ์ค๋ฉด ๊ทธ๊ฒ ๋น ์ฌ๊ฐํ์ด๋ฏ๋ก ์ด๋ ๊ฒ ์ฐพ์ผ๋ ค๊ณ ํ๋ค.
ํ์ง๋ง ์ ๋ ฅํ๋ ์์ ์ด ์์์ ๊ณณ๋ถํฐ ์์ํ๋ฏ๋ก ์ด๊ฒ์ ํ๋ ธ๋ค.
๊ทธ๋์ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ ๋ค์ ์๊ฐํด์ผ ํ๋๋ฐ,
๋ชจ๋ ๋ชจ์์์ ๋ฐ๋ณต์ ์ธ ํจํด์ด ์๋ค. ์๋ฅผ๋ค์ด ใฑ
์ ๊ฒฝ์ฐ ๋จ๋๋จ๋์ด ๋ฐ๋ณต๋๋ค.
ํ์ง๋ง ์์์ ๊ณณ์์ ์์ํ๋ฏ๋ก ์ด๊ฒ์ ๋ฐ๋ก ์ฌ์ฉ ํ ์๊ฐ์๋ค.
๊ทธ๋์ ์ ์ ๋ณด๋ฅผ ํ์ฉํ๊ธฐ ์ํด์ ๊ฐ์ ๋ณต์ฌํ์ฌ ์ด์ด์ ๋ถ์ฌ์คฌ๋ค.
๊ทธ๋ ๊ฒ ํ๋ฉด ๋ฐ๋ณต์ ์ธ ํจํด์ด ๋์ฌ ๋๋ฅผ ์ฐพ์ ์ ์๊ณ ๋น ์ฌ๊ฐํ์ ๋์ด๋ฅผ ๊ตฌํ ์ ์๋ค.
์ด๋ฌํ ๋ ผ๋ฆฌ ๋ก์ง์ผ๋ก ๊ตฌํ์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
int n, dir, len, large, small, res;
pair<int, int> cache[12];
void solve()
{
cin >> n;
for (int i = 0; i < 6; ++i)
{
cin >> dir >> len;
cache[i] = cache[i + 6] = { dir, len };
}
for (int i = 3; i < 12; ++i)
{
// ๋ฐ๋ณต์ ์ธ ํจํด์ ๋ฐ๊ฒฌ ํ ์
if (cache[i].first == cache[i - 2].first && cache[i - 1].first == cache[i - 3].first)
{
// ๋ฐ ์๊ณ ๋ฐฉํฅ์ด๋ฏ๋ก ๊ทธ ๋ค์ ๋ ๊ธธ์ด๊ฐ ํฐ ์ฌ๊ฐํ์ ๋์ด๊ฐ๋๋ค.
large = cache[i + 1].second * cache[i + 2].second;
// ์ด์ ๋ ๊ธธ์ด๊ฐ ์์ ์ฌ๊ฐํ์ ๋์ด๊ฐ ๋๋ค.
small = cache[i - 1].second * cache[i - 2].second;
break;
}
}
res = n * (large - small);
cout << res;
}
๐์ ์ฒด ์ฝ๋
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include<iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int n, dir, len, large, small, res;
pair<int, int> cache[12];
void solve()
{
cin >> n;
for (int i = 0; i < 6; ++i)
{
cin >> dir >> len;
cache[i] = cache[i + 6] = { dir, len };
}
for (int i = 3; i < 12; ++i)
{
if (cache[i].first == cache[i - 2].first && cache[i - 1].first == cache[i - 3].first)
{
large = cache[i + 1].second * cache[i + 2].second;
small = cache[i - 1].second * cache[i - 2].second;
break;
}
}
res = n * (large - small);
cout << res;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//freopen("input.txt", "rt", stdin);
solve();
return 0;
}