DISNEY1 - Công viên Disneyland (version 1)
Tác giả: flashmt
Ngôn ngữ: C++
#include<iostream>
#include<algorithm>
#define fr(a,b,c) for(a=b;a<=c;a++)
#define oo 1000000000
using namespace std;
int n,a[222][222],f[222][222];
int main()
{
int i,j,re=oo;
cin >> n;
fr(i,1,n)
fr(j,1,n)
{
scanf("%d",&a[i][j]);
f[i][j]=oo;
}
f[1][1]=0;
fr(i,1,n-1)
fr(j,i,n)
{
f[i][j+1]=min(f[i][j+1],f[i][j]+a[j][j+1]);
if (i<j) f[i+1][j]=min(f[i+1][j],f[i][j]+a[i][i+1]);
f[j][j+1]=min(f[j][j+1],f[i][j]+a[i][j+1]);
}
fr(i,1,n) re=min(re,f[i][n]+a[i][1]+a[n][1]);
cout << re << endl;
return 0;
}