题目:吃奶酪

news/2024/9/24 0:22:16/

问题描述:


解题思路:

         枚举每种吃奶酪顺序,并计算其距离,选择最小的距离即答案。v数组:记录顺序。

        注意点:1. 每次用于min的s需要重置为0。

                       2. 实数包括小数,所以结构体内x,y为double类型。

                       3. 第一次从原点开始出发要特判,即dis(a[0](原点),a[v[i]](第一个顺序点))


AC代码:

 

#include<bits/stdc++.h>
using namespace std;
int n;
struct Node{double x, y;  // 注意点2
}a[9];double dis(Node a, Node b){return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}void slove(){cin >> n;a[0].x = 0, a[0].y = 0;for(int i = 1; i <= n; i++){cin >> a[i].x >> a[i].y;}vector<int> v;for(int i = 1; i <= n; i++){v.push_back(i);	}double sum = 1e18;do{double s = 0;  // 注意点1:因为s是计算每种顺序计的最小值,所以枚举每种顺序时需要重置 for(int i = 0; i < n; i++){if(i == 0)s += dis(a[v[i]], a[0]);  // 注意点3if(i)s += dis(a[v[i]], a[v[i - 1]]);}sum = min(sum, s);}while(next_permutation(v.begin(), v.end()));cout << fixed << setprecision(2) << sum ;
}int main()
{slove();	return 0;
}

知识点:全排列的使用


http://www.ppmy.cn/news/1451873.html

相关文章

扩展学习|本体研究进展

文献来源&#xff1a; 王向前,张宝隆,李慧宗.本体研究综述[J].情报杂志,2016,35(06):163-170. 一、本体的定义 本体概念被引入人工智能、知识工程等领域后被赋予了新的含义。然而不同的专家学者对本体的理解不同,所给出的定义也有所差异。 人工智能领域的学者Neches(1991)等人对…

第Ⅰ章-VI 熟练掌握ES6新特性以及盲点

第Ⅰ章-Ⅰ 了解Vue3 创建一个Vue3项目 第Ⅰ章-Ⅱ Vue3自定义创建项目 项目文件详解 第Ⅰ章-III Vite 创建vue3 项目 第Ⅰ章-IV npm yarn pnpm 包管理器 第Ⅰ章-V package.json文件详解 第Ⅰ章-VI 熟练掌握ES6新特性以及盲点 简介主要特性1.块级作用域和 let、const2.箭头函数3.…

粘合/粘接/胶合聚酰亚胺PI材料使用UV胶,用的UV LED灯的波长范围及功率怎么选择?(三十九)

UV胶固化设备的UV LED波长范围是多少才能与UV胶匹配&#xff1f; UV胶固化设备的UV LED波长范围与UV胶的匹配性主要取决于所使用的UV胶的固化特性。不同的UV胶可能对UV光的波长有不同的要求。因此&#xff0c;要确定与UV胶匹配的UV LED波长范围&#xff0c;首先需要了解所使用的…

使用D3.js进行数据可视化

D3.js介绍 D3.js是一个流行的JavaScript数据可视化库&#xff0c;全称为Data-Driven Documents&#xff0c;即数据驱动文档。它以数据为核心&#xff0c;通过数据来驱动文档的展示和操作。D3.js提供了丰富的API和工具&#xff0c;使得开发者能够创建出各种交互式和动态的数据可…

代码审计之SAST自动化

前言: 很久没写文章了&#xff0c;有点忙&#xff0c;落个笔&#xff0c;分享一些捣鼓或说适配好的一些好玩的东西。 脚本工具不开源&#xff0c;给一些思路&#xff0c;希望能给大家带来一些收获。 笔者能力有限&#xff0c;如有错误&#xff0c;欢迎斧正。 正文&#xff1a…

boost::asio::ip::tcp::acceptor::reuse_address

boost::asio::ip::tcp::acceptor::reuse_address 是一个选项&#xff0c;用于设置 tcp::acceptor 对象是否可以在绑定到一个地址后立即重新使用该地址。 在网络编程中&#xff0c;当服务器程序关闭后&#xff0c;操作系统可能会保留 socket 使用的地址一段时间。在这段时间内&…

MATLAB 微积分

MATLAB 微积分 MATLAB提供了多种方法来解决微分和积分问题&#xff0c;求解任意程度的微分方程式以及计算极限。最重要的是&#xff0c;您可以轻松求解复杂函数的图&#xff0c;并通过求解原始函数及其导数来检查图上的最大值&#xff0c;最小值和其他文具点。 本章将讨论微…

JavaScript ES6 全新的Set、Map数据结构

JavaScript ES6 全新的Set、Map数据结构 Map、Set都是ES6新的数据结构, 都是新的内置构造函数, 也就是说typeof的结果, 多了两个&#xff1a; Set 是不能重复的数组, 但不能[某一项来枚举出来] Map 是可以任何东西当做键的对象 set()数据结构 ES6 提供了新的数据结构 Set。…