zoukankan      html  css  js  c++  java
  • P1433 吃奶酪

    链接:P1433

    ---------------------------------------------------------------

    一道很水的搜索题,唯一的难点就是预处理,不过公式都写出来了也没什么难的

    坑点还是有的,比如说有一个(两个点)的坐标都是一堆小数,就会wa掉

    再也没什么难的了

    ----------------------------------------------------------------

    #include<iostream>
    #include<cmath>
    #include<cstdio>
    #include<windows.h>
    using namespace std;
    int vis[100];
    int n;
    double dis[30][30];
    double x[30];
    double y[30];
    double ans=1000090;
    char c;
    void dfs(int p,double diss,int cnt){
        if(diss>ans)
        return ;
        if(vis[p])
        return ;
        if(cnt==n){
            ans=min(ans,diss);
            return ;
        }
        vis[p]=1;
        for(int i=1;i<=n;++i)
        {
            if(!vis[i])
            dfs(i,diss+dis[p][i],cnt+1);
        }
        vis[p]=0;
        return ;
    }
    int main(){
        cin>>n;
        for(int i=1;i<=n;++i)
        scanf("%lf%lf",&x[i],&y[i]);
        x[0]=y[0]=0;
        for(int i=0;i<=n;++i)
            for(int j=i+1;j<=n;++j)
            {
                dis[i][j]=dis[j][i]=sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
            }
        dfs(0,0,0);
        printf("%.2lf",ans);
        system("pause");
        return 0;
    }
    Ac
  • 相关阅读:
    Linux搭建JAVAWEB环境
    java异常捕获
    java流2
    java流
    32
    java代码List
    java代码输入流篇2
    java流类练习前篇
    java流网址:
    java中i/o练习
  • 原文地址:https://www.cnblogs.com/For-Miku/p/11376498.html
Copyright © 2011-2022 走看看