๋ฌธ์
๋ฌธ์
ํฌ๊ธฐ๊ฐ NรM์ธ ํ๋ ฌ A์ MรK์ธ B๋ฅผ ๊ณฑํ ๋ ํ์ํ ๊ณฑ์ ์ฐ์ฐ์ ์๋ ์ด NรMรK๋ฒ์ด๋ค. ํ๋ ฌ N๊ฐ๋ฅผ ๊ณฑํ๋๋ฐ ํ์ํ ๊ณฑ์ ์ฐ์ฐ์ ์๋ ํ๋ ฌ์ ๊ณฑํ๋ ์์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๊ฒ ๋๋ค.
์๋ฅผ ๋ค์ด, A์ ํฌ๊ธฐ๊ฐ 5ร3์ด๊ณ , B์ ํฌ๊ธฐ๊ฐ 3ร2, C์ ํฌ๊ธฐ๊ฐ 2ร6์ธ ๊ฒฝ์ฐ์ ํ๋ ฌ์ ๊ณฑ ABC๋ฅผ ๊ตฌํ๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด๋ณด์.
AB๋ฅผ ๋จผ์ ๊ณฑํ๊ณ C๋ฅผ ๊ณฑํ๋ ๊ฒฝ์ฐ (AB)C์ ํ์ํ ๊ณฑ์ ์ฐ์ฐ์ ์๋ 5ร3ร2 + 5ร2ร6 = 30 + 60 = 90๋ฒ์ด๋ค.
BC๋ฅผ ๋จผ์ ๊ณฑํ๊ณ A๋ฅผ ๊ณฑํ๋ ๊ฒฝ์ฐ A(BC)์ ํ์ํ ๊ณฑ์ ์ฐ์ฐ์ ์๋ 3ร2ร6 + 5ร3ร6 = 36 + 90 = 126๋ฒ์ด๋ค.
๊ฐ์ ๊ณฑ์ ์ด์ง๋ง, ๊ณฑ์ ์ ํ๋ ์์์ ๋ฐ๋ผ์ ๊ณฑ์ ์ฐ์ฐ์ ์๊ฐ ๋ฌ๋ผ์ง๋ค.
ํ๋ ฌ N๊ฐ์ ํฌ๊ธฐ๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ ํ๋ ฌ์ ๊ณฑํ๋๋ฐ ํ์ํ ๊ณฑ์ ์ฐ์ฐ ํ์์ ์ต์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ํ๋ ฌ์ ์์๋ฅผ ๋ฐ๊พธ๋ฉด ์ ๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ๋ ฌ์ ๊ฐ์ N(1 โค N โค 500)์ด ์ฃผ์ด์ง๋ค.
๋์งธ ์ค๋ถํฐ N๊ฐ ์ค์๋ ํ๋ ฌ์ ํฌ๊ธฐ r๊ณผ c๊ฐ ์ฃผ์ด์ง๋ค. (1 โค r, c โค 500)
ํญ์ ์์๋๋ก ๊ณฑ์ ์ ํ ์ ์๋ ํฌ๊ธฐ๋ง ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ํ๋ ฌ์ ๊ณฑํ๋๋ฐ ํ์ํ ๊ณฑ์ ์ฐ์ฐ์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ์ ๋ต์ 2^31-1 ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋ํ, ์ต์ ์ ์์๋ก ์ฐ์ฐํด๋ ์ฐ์ฐ ํ์๊ฐ 2^31-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์ฌ์ฉ ์๊ณ ๋ฆฌ์ฆ
- dp(์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ฌ์ฉ)
๊ท์น
- ํ๋ ฌ N๊ฐ์ ํฌ๊ธฐ๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ ํ๋ ฌ์ ๊ณฑํ๋๋ฐ ํ์ํ ๊ณฑ์ "์ฐ์ฐ ํ์"์ "์ต์๊ฐ"์ ๊ตฌํฉ๋๋ค.
- ์ ๋ต๊ณผ ์ฐ์ฐํ์๋ 2^31-1(2,147,483,647) ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฏ๋ก, -2,147,483,648 ~ 2,147,438,647์ ๋ฒ์๋ฅผ ๊ฐ์ง๋ intํ์ ์ฌ์ฉํฉ๋๋ค.
ํ์ด
11066๋ฒ - ํ์ผ ํฉ์น๊ธฐ ๋ฌธ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ตฌ๊ฐ์ ๋๋์ด ๋ํด์ค๋๋ค.
d[i][j]๋ d[i]~d[j]๊น์ง์ ํ๋ ฌ๊ณฑ์ธ๋ฐ, ํ์ผ ํฉ์น๊ธฐ ๋ฌธ์ ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ตฌ๊ฐ์ d[i]~d[k], d[k+1]~d[j]๋ก ๋๋์ด์ ์๊ฐํฉ๋๋ค.
d[i]~d[j]์ ํ๋ ฌ๊ณฑ ์ฐ์ฐํ์๋ ์๋ 3๋ถ๋ถ์ ํฉ์ผ๋ก ํํํ ์ ์์ต๋๋ค.
1. d[i][k]์ ํ๋ ฌ๊ณฑ
2. d[k+1][j]์ ํ๋ ฌ๊ณฑ
3. mat[k]์ mat[k+1]์ ํ๋ ฌ๊ณฑ(mat : ์ ๋ ฅ๊ฐ์ ์ด๊ธฐํ ํ ๋ฐฐ์ด)
๋ฐ๋ผ์, ์ ํ์์
d[i][j] = d[i][k] + d[k+1][j] + (mat[k]์ mat[k+1]์ ํ๋ ฌ๊ณฑ) ์ ๋๋ค.
์ฝ๋(์๊ฐ ๋ณต์ก๋ N^3)
'๐ค PS(Problem Solving) > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/c++] 1874๋ฒ - ์คํ ์์ด (0) | 2019.11.02 |
---|---|
[๋ฐฑ์ค/c++] 2240๋ฒ - ์๋๋๋ฌด (0) | 2019.09.20 |
[๋ฐฑ์ค/c++] 11066๋ฒ - ํ์ผ ํฉ์น๊ธฐ (0) | 2019.08.17 |
[๋ฐฑ์ค/c++] 1520๋ฒ - ๋ด๋ฆฌ๋ง ๊ธธ (1) | 2019.08.11 |
[๋ฐฑ์ค/c++] 2294๋ฒ - ๋์ 2 (0) | 2019.08.11 |