首页 > 其他分享 >702 旅行商

702 旅行商

时间:2024-10-09 10:11:15浏览次数:1  
标签:旅行 int 城市 702 蜗蜗 ai dp

// 702 旅行商.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

/*

http://oj.daimayuan.top/course/5/problem/249

蜗蜗的世界里有 n
 个城市,城市两两之间通过高速公路连接,从第 i
 个城市走到第 j
 个城市需要花费 ai,j
 的时间。

现在蜗蜗想从 1 号城市出发旅游,他想把每个城市都玩个遍,但又不想在一个城市玩两遍,玩完以后蜗蜗需要回到 1 号城市应付期末考试。请问蜗蜗最少需要花费多少时间?

蜗蜗到了一个城市以后,一定会在这个城市游玩。蜗蜗在出发之前会先在 1 号城市游玩。连接两个城市的高速公路不会经过其他城市。由于路况的原因,从第 i
 个城市走到第 j
 个城市花费的时间不一定等于从第 j
 个城市走到第 i
 个城市花费的时间。

输入格式
第一行一个整数 n
 表示城市数目。

接下来 n 行,每行 n 个整数。第 i 行第 j列的整数表示 ai,j。

输出格式
一行一个整数表示答案。

样例输入
2
0 1
2 0
样例输出
3
数据范围
对于 100% 的数据,保证 2≤n≤18
,如果 i=j,则 ai,j=0,否则 1≤ai,j≤10000。


3
0 1 2
1 0 2
1 2 0

3
0 3 2
2 0 3
3 2 0


*/

#include <iostream>
#include <cstring>

using namespace std;

const int N = 20;

int path[N][N];
int dp[1 << N][N];
int n;




int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			cin >> path[i][j];
		}
	}
	memset(dp, 0x3f, sizeof dp);
	dp[1][1] = 0;
	int ans = 0x3f3f3f3f;
	for (int st = 0; st < 1 << n; st++) {
		for (int i = 1; i <= n; i++) {
			for (int j = 1; j <= n; j++) {
				if (i == j) continue;
				if ((st & (1 << (i-1)) ) && ( (st & (1 << (j-1))) == 0)) {
					dp[st | (1 << (j-1))][j] = min(dp[st | (1 << (j-1))][j], dp[st][i] + path[i][j]);
				}
				if ( j!=1 && ((st | (1 << (j-1))) == (1 << n) - 1) ) {
					ans = min(ans, dp[st | (1 << (j-1))][j] + path[j][1]);
				}
			}
		}
	}

	cout << ans << endl;

	return 0;
}

标签:旅行,int,城市,702,蜗蜗,ai,dp
From: https://www.cnblogs.com/itdef/p/18453672

相关文章

  • P5416 = UOJ 198 时空旅行 题解
    Statement一棵树,每个节点上有一个集合,每个儿子集合由父亲集合增加一个点\((x_i,c_i)\)或删除一个点得到。根节点集合为\(\{(0,0,0,c_0)\}\)多次询问,每次问\(u\)点的集合内,\(\min\{(x_i-x)^2+c_i\}\)Solution首先你认真读完题发现原题中\(y,z\)都是没用的然后离线DFS......
  • 跨过坦克300,捷途旅行者成市场新贵
    在坦克300稳坐燃油“方盒子”SUV王座的日子里,消费者们对于这款车型的热衷可谓是如痴如醉,纷纷选择预定,翘首以盼提车之日的到来。然而,市场的风云变幻莫测,捷途旅行者的横空出世,犹如一匹黑马,打破了原有的市场格局。捷途旅行者上市后,其强劲的市场表现让坦克300的市场份额受到了......
  • 基于springboot+vue的Android的乡村研学旅行APP系统app小程序(源码+文档+部署讲解等)
    前言......
  • [ARC061E] すぬけ君の地下鉄旅行 题解
    题目传送门一些废话今天登洛谷的时候发现主页少了一道紫题。???怎么降绿了(建议升蓝)???AND这是蒟蒻的第一篇题解简介很容易地想到,这是一道最短路问题,要求在一个有\(N\)个站点和\(M\)条地铁线路的图中,从站点\(1\)到站点\(N\)的最小花费。每条线路由一个公司运营,乘坐同一......
  • P3313 [SDOI2014] 旅行
    题目思路为每个宗教维护一个线段数,查询时,树剖时在对应宗教上查询区间即可。使用动态开点线段树,每次最多新建\(\logn\)个节点,不会MLE。代码#include<bits/stdc++.h>#definerange1,100000usingnamespacestd;constintN=100010;structedge{intto,......
  • 【25届毕设选题推荐】基于uniapp的简易旅行旅游系统(源码+部署+LW文档)
    前言:我是天码编程,从事计算机开发行业数年,专注Java程序设计开发、源码分享、技术指导和毕业设计,欢迎各位前来交流讨论......
  • (免费源码)计算机毕业设计必看必学 Springboot开心宠物店管理系统70254 原创定制程序 ja
     Springboot开心宠物店管理系统摘要在社会快速发展的影响下,宠物业继续发展,大大增加了宠物商品管理的数量、多样性、质量等等的要求,使宠物店的管理和运营比过去十年更加困难。依照这一现实为基础,设计一个快捷而又方便的开心宠物店管理系统是一项十分重要并且有价值的事情。......
  • 算法题之图论 [NOIP2001 提高组] Car的旅行路线详细题解
    P1027[NOIP2001提高组]Car的旅行路线这道题的思路呢,就是建个图,然后跑一遍Floyd,比较最小值就可以解决了。but!它每个城市只给三个点(共四个),所以还得计算出第四个点坐标。这里根据矩形的中点公式来表示未知点的坐标:(这个思路源于大佬 _jimmywang_       ......
  • 旅行者之路:数据技术在出行业的不断进化与应用
    在数据驱动业务的当代,出行行业尤其显示出对数据技术的渴求和依赖。从原始的数据仓库到现代的数据中台,以及促进自我增长的数据飞轮,每一步技术进化都显著增强了企业的竞争力和服务质量。本文将聚焦于出行业,探讨数据技术如何使得广告监测、老用户活跃、增长营销及公域获客等业务场景得......
  • 学习使用 API 构建旅行应用程序
    加入APILayer和Filestack参加关于创建旅行应用程序的富有洞察力的网络研讨会于2024年9月19日美国标准时间上午11点使用强大的API。Filestack客户成功经理RodrigoGullen和APILayer大使PrathamKumar将展示如何使用API构建旅行应用程序。免费网络研讨会将......