zoukankan      html  css  js  c++  java
  • 【Luogu1433】吃奶酪

    problem

    solution

    codes

    #include<iostream>
    #include<algorithm>
    #include<cstdio>
    #include<cmath>
    using namespace std;
    typedef double LD;
    const int maxn = 55;
    int n, vis[maxn];
    LD a[maxn], b[maxn], dis[maxn][maxn], now, ans=(int)1e9;
    void dfs(int c, int p){
        //cout<<now<<"
    ";
        if(now>ans)return ;//最优化剪枝
        if(c==n){ ans = min(ans,now); return ;}
        vis[p] = 1;
        for(int i = 1; i <= n; i++){
            if(!vis[i]){
                now += dis[p][i];
                dfs(c+1,i);
                now -= dis[p][i];
            }
        }
        vis[p] = 0;
    }
    
    int main(){
        ios::sync_with_stdio(false);
        cin>>n;
        for(int i = 1; i <= n; i++)
            cin>>a[i]>>b[i];
        //预处理两点距离
        for(int i = 0; i <= n; i++)
            for(int j = 0; j <= n; j++)
                dis[i][j] = sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j]));
        dfs(0,0);
        //cout<<ans<<"
    ";
        printf("%.2lf
    ",ans);
        return 0;
    }
  • 相关阅读:
    例3-7 统计字符
    大一第四周
    例3-5 四则运算
    MyBatis 查询缓存
    MyBatis 延迟加载
    Mybatis 关联查询
    Mybatis 动态SQL
    MyBatis mapper动态代理
    MyBatis 增删改查
    MyBatis 框架搭建
  • 原文地址:https://www.cnblogs.com/gwj1314/p/9444679.html
Copyright © 2011-2022 走看看