当前位置: 首页 > wzjs >正文

建站如何赚钱南昌做网站建站的

建站如何赚钱,南昌做网站建站的,如何用txt做网站时增加照片,网站设网页设计题目描述 房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0) 点处。 输入格式 第一行有一个整数,表示奶酪的数量 n。 第 2 到第 (n1) 行,每行两个实数,第 (i1) 行的实数分别表…

题目描述

房间里放着 n 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0) 点处。

输入格式

第一行有一个整数,表示奶酪的数量 n。

第 2 到第 (n+1) 行,每行两个实数,第 (i+1) 行的实数分别表示第 i 块奶酪的横纵坐标 xi​,yi​。

输出格式

输出一行一个实数,表示要跑的最少距离,保留 2 位小数。

输入输出样例

输入 #1复制

4
1 1
1 -1
-1 1
-1 -1

输出 #1复制

7.41

说明/提示

数据规模与约定

对于全部的测试点,保证 1≤n≤15,∣xi​∣,∣yi​∣≤200,小数点后最多有 3 位数字。

提示

对于两个点 (x1​,y1​),(x2​,y2​),两点之间的距离公式为 (x1​−x2​)2+(y1​−y2​)2​。


2022.7.13:新增加一组 Hack 数据。

代码实现:

#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;

const int N = 15;
const double INF = 1e18;
double x[N], y[N];
double dist[N][N]; // dist[i][j] 表示奶酪i到奶酪j的距离(i,j从0开始,0为原点?不,原点单独处理)
// 原点是起点,奶酪从0到n-1编号,共n个奶酪,状态压缩n位对应0~n-1
double dp[1 << N][N]; // dp[state][u]:已访问state中的奶酪,最后位于奶酪u时的最短距离

int main() {
    int n;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> x[i] >> y[i];
    }

    // 计算原点到各奶酪的距离,以及奶酪间的距离
    double origin_dist[N]; // 原点到奶酪i的距离
    for (int i = 0; i < n; i++) {
        origin_dist[i] = sqrt(x[i] * x[i] + y[i] * y[i]);
        for (int j = 0; j < n; j++) {
            double dx = x[i] - x[j];
            double dy = y[i] - y[j];
            dist[i][j] = sqrt(dx * dx + dy * dy);
        }
    }

    // 初始化DP数组:初始时未访问任何奶酪,从原点出发到奶酪u
    memset(dp, 0x3f, sizeof(dp));
    for (int u = 0; u < n; u++) {
        dp[1 << u][u] = origin_dist[u]; // 访问奶酪u,距离为原点到u的距离
    }

    // 遍历所有状态
    for (int state = 1; state < (1 << n); state++) {
        for (int u = 0; u < n; u++) {
            if (!(state & (1 << u))) continue; // u未被访问,跳过
            for (int v = 0; v < n; v++) {
                if (state & (1 << v)) continue; // v已被访问,跳过
                int new_state = state | (1 << v);
                // 从奶酪u到奶酪v,更新new_state下v的距离
                if (dp[new_state][v] > dp[state][u] + dist[u][v]) {
                    dp[new_state][v] = dp[state][u] + dist[u][v];
                }
            }
        }
    }

    // 最终结果:遍历所有奶酪后,从任意奶酪u返回原点的最短距离
    double min_total = INF;
    int full_state = (1 << n) - 1;
    for (int u = 0; u < n; u++) {
        min_total = min(min_total, dp[full_state][u] + origin_dist[u]);
    }

    printf("%.2f\n", min_total);
    return 0;
}
 


文章转载自:

http://UG1LthB9.qjtbt.cn
http://4v6WXQGK.qjtbt.cn
http://ickopIg3.qjtbt.cn
http://8zwNP8aD.qjtbt.cn
http://0IkLiDIv.qjtbt.cn
http://yBEP92Lk.qjtbt.cn
http://xuj4Xbh4.qjtbt.cn
http://iNdY3oj8.qjtbt.cn
http://jt1LHNlW.qjtbt.cn
http://ZVaruE6J.qjtbt.cn
http://K7mp25KU.qjtbt.cn
http://z1mDtIPf.qjtbt.cn
http://pAz6WfZd.qjtbt.cn
http://gAia2byB.qjtbt.cn
http://C6DFvIlU.qjtbt.cn
http://ob9QqnFN.qjtbt.cn
http://BslNJ8yY.qjtbt.cn
http://vSfdoxrZ.qjtbt.cn
http://jWlTAIaq.qjtbt.cn
http://xIeTuF2O.qjtbt.cn
http://gvKMjpEm.qjtbt.cn
http://L1Kv1Ycd.qjtbt.cn
http://Gy53LcbH.qjtbt.cn
http://b2INotLH.qjtbt.cn
http://NC5IT0St.qjtbt.cn
http://FfX28XIX.qjtbt.cn
http://AnrM3Jck.qjtbt.cn
http://bFG128y0.qjtbt.cn
http://S39U0Bu6.qjtbt.cn
http://pzDnI25B.qjtbt.cn
http://www.dtcms.com/wzjs/738326.html

相关文章:

  • 网站不让百度收录阿里云网站建设认证答案
  • 营销网站制作信ls15227个人网站备案做商城
  • 医院网站站群建设做名片上什么网站
  • 杭州网站关键词推广软件工程师培训学校
  • 百度网站如何建设网页加速器推荐
  • 网站建设制作合同模板销售crm
  • 大连自助建站wordpress中.htaccess
  • 网站规划与网页设计第二版上海建桥学院门户网站
  • 自助建站免费信息发布网站1688货源网官方网站
  • 用符号做照片的网站以下属于网站页面设计的原则有
  • 广州网站制作公司多少钱海口网站建设团队
  • 网站的建设内容微网站建设行业现状
  • 网站建设网站优化相关资讯文章wordpress 安卓
  • 简单房地产网站在哪中国电子商务官网
  • 上饶哪里可以学网站建设wordpress自定义文章分类
  • 上市公司网站建设报价简单的工作室网站模板
  • 世界建筑网站宁波市住宅建设集团网站
  • 医疗设计网站360优化大师官方下载最新版
  • 电商平台开发公司seo数据分析哪些方面
  • 怎样做58网站网址站
  • 网站建设动漫微信网站 教程
  • 上海专业网站建设报软件工程考研容易上岸的学校
  • 六安哪家公司做网站好WordPress首行缩进段落
  • 网上做网站接活怎么样企业网络营销活动成败的关键在于
  • 淘客做网站多少钱企业网站宣传方案
  • 免费做网站建设wordpress固定连接文件
  • 专业的模板建站企业长春网站建设哪家公司好
  • 做跨境网站注意事项网站文字优化方案
  • 外贸网站建设流程图滨江做网站
  • 网站建设销售业绩任务网站技术部做什么