hdu1572
来源:互联网 发布:信用卡加淘宝帐号贷款 编辑:程序博客网 时间:2024/05/17 07:28
链接:点击打开链接
题意:给出一个n*n的矩阵每一个数代表第i站到第j站的距离,给出m个人想要到达的站,问给m个人都送到最短距离是多少
代码:
#include <iostream>#include <string.h>#include <stdio.h>#include <limits.h>#include <algorithm>using namespace std;int dis[105][105],vis[105];int n,m,t,ans;void dfs(int num,int sum,int st){ //搜索分别代表搜索到第几个,距离和,和起始点 int i; if(num==t){ ans=min(ans,sum); return; } for(i=1;i<=n;i++) if(vis[i]){ vis[i]=0; dfs(num+1,sum+dis[st][i],i); vis[i]=1; }}int main(){ int i,j,k; while(scanf("%d",&n)!=EOF&&n){ //这个题的路径只能经过给出的几个点,不能含有别的点 ans=INT_MAX;t=0; //因此不能求最短路,所以采用暴搜,也可以用STL里全排 memset(vis,0,sizeof(vis)); //列直接暴力求解 for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%d",&dis[i][j]); scanf("%d",&m); for(i=1;i<=m;i++){ scanf("%d",&k); if(!vis[k+1]){ t++; vis[k+1]=1; } } dfs(0,0,1); printf("%d\n",ans); } return 0;}
0 0
- hdu1572
- hdu1572
- HDU1572(DFS)
- hdu1572 下沙小面的(2)
- hdu1572 水搜索
- HDU1572下沙小面的(2)
- 爆搜解hdu1572下沙小面的(2)
- hdu1572(下沙小面的(2))(深搜找最短路)
- HDU1572-下沙小面的(2)-最短路(深搜)
- HDU1572 下沙小面的(2)(深搜DFS)
- HDU1572:下沙小面的(2)(DFS)
- ACM-DFS之下沙小面的(2)——hdu1572
- 【HDU1572】【旅行商问题 状压DP 数据小全排列暴力】下沙小面的(2)
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数
- 设计模式学习
- 对于可重入、线程安全、异步信号安全几个概念的理解
- pig优化器之一(翻译pig wiki):combiner使用
- SPOJ 题目 8222 NSUBSTR - Substrings(后缀自动机+DP求子串出现最大次数)
- hdu1572
- HDU 5113 Black And White(2014ACM/ICPC北京赛区B)
- hdu1016
- LeetCode Valid Anagram
- hdu1015
- hdu1716
- LeetCode Sort List
- 【Leetcode】Construct binary tree from inorder and postorder traversal
- Java Difference between Private and Protected