: dist(a,b) = min(dist(a,b) , dist(a,k) + dist(k,b));
a์์ b๋ก ๊ฐ๋ ์ต๋จ๊ฑฐ๋ฆฌ๋ณด๋ค a์์ k๋ฅผ ๊ฑฐ์ณ b๋ก ๊ฐ๋ ๊ฑฐ๋ฆฌ๊ฐ ๋ ์งง์์ง ๊ฒ์ฌํ๋ ์๊ณ ๋ฆฌ์ฆ
ํ๋ก์ด๋ ์์ฌ์ ๋ชจ๋ ์ ์ ๊ฐ์ ์ต๋จ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํจ.
๋ค์ต์คํธ๋ผ๋ ํ๋์ ์ ์ ์ ๊ธฐ์ค์ผ๋ก ๋ค๋ฅธ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต์๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๋ค.
dp[1][8] : 1๋ฒ ์ ์ ์์ 8๋ฒ๊น์ง์ ๊ฐ๋๋ฐ์ ๋น์ฉ์ ๋ํ๋ด๋๋ฐ,
๊ฒฝ์ ํ๋ k์ ์ด ๋ง์ฝ์ ๋ ์๊ฒ ๋๋ค๋ฉด
๊ฐ์ ๊ฐฑ์ ํด์ผ ํ๋ค.
for(int k = 0; k < n; k++)
{
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
dp[i][j] = min(dp[i][j] , dp[i][k] + dp[k][j]);
}
}
}