11049๋ฒ: ํ๋ ฌ ๊ณฑ์ ์์
์ฒซ์งธ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ํ๋ ฌ์ ๊ณฑํ๋๋ฐ ํ์ํ ๊ณฑ์ ์ฐ์ฐ์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค. ์ ๋ต์ 231-1 ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋ํ, ์ต์ ์ ์์๋ก ์ฐ์ฐํด๋ ์ฐ์ฐ ํ์๊ฐ 231-1๋ณด๋ค ์๊ฑฐ๋ ๊ฐ
www.acmicpc.net
#include <iostream> #define INF 1e9 /* (i<=k<=j-1) dp[i][j]=min(dp[i][k]+dp[k+1][j]+d[i-1]*d[k]*d[j]) */ int dp[501][501]; int r[501],c[501]; using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int N; cin>>N; for (int i=0; i<N; i++){ dp[i][i]=0; } for(int i=0; i<N; i++){ cin>>r[i]>>c[i]; } for(int cnt=1; cnt<N; cnt++){ for(int i=0; i<=N-cnt; i++){ int j=i+cnt; dp[i][j]=INF; for(int k=i; k<j; k++){ dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+r[i]*r[k+1]*c[j]); } } } cout<<dp[0][N-1]; }
'Algorithm ๐ง๐ปโ๐ป > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค,c++] 11052๋ฒ - ์นด๋ ๊ตฌ๋งคํ๊ธฐ (0) | 2021.10.27 |
---|---|
[๋ฐฑ์ค,c++] 11051๋ฒ - ์ดํญ ๊ณ์2 (0) | 2021.10.26 |
[๋ฐฑ์ค,c++] 11050๋ฒ - ์ดํญ ๊ณ์1 (0) | 2021.10.26 |
[๋ฐฑ์ค,c++] 11048๋ฒ - ์ด๋ํ๊ธฐ (0) | 2021.10.26 |
[๋ฐฑ์ค,c++] 11047๋ฒ - ๋์ 0 (0) | 2021.10.26 |
[๋ฐฑ์ค,c++] 11023๋ฒ - ๋ํ๊ธฐ 3 (0) | 2021.10.26 |
๋๊ธ