#include #include #include using namespace std; double dist(const pair& x, const pair& y){ double r = sqrt( (y.first - x.first) * (y.first - x.first) + (y.second - x.second) * (y.second - x.second) ); return r; } int main(){ int n; cin >> n; vector> m(n); for(int i = 0; i < n; i++){ cin >> m[i].first >> m[i].second; } vector> dp(n, vector(n, 0)); int k = 0; //dp[0][0] = 0; int i = 0, j = 0; while(dp[n - 1][n - 1] == 0){ k = max(i, j) + 1; dp[i][k] = min(d[i][k], d[i][j] + dist(m[k], m[j])); dp[k][j] = min(d[k][j], d[i][j] + dist(m[k], m[i])); i++;j++; } return 0; }