DFS
来源:互联网 发布:mac版office2016怎么样 编辑:程序博客网 时间:2024/05/29 14:29
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
const int oo=10000000;
using namespace std;
int a[260][260],p[20]={0},d[16],ans=oo; int i,j,k,m,n,u;
void dfs(int pos,int s,int step){
if(s>ans)return ;
if(step>=n-1){
s+=a[pos][n];
if(s<ans)ans=s;
return ;
}
int i;
for(i=2;i<n;i++){
if(!p[i]){
p[i]=1;
dfs(i,s+a[pos][i],step+1);
p[i]=0;
}
}
return ;
}
int main(){
freopen("luoge.in","r",stdin);
freopen("luoge.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
p[1]=1;
dfs(1,0,1);
cout<<ans;
return 0;
}
#include<cstdlib>
#include<cstring>
#include<iostream>
const int oo=10000000;
using namespace std;
int a[260][260],p[20]={0},d[16],ans=oo; int i,j,k,m,n,u;
void dfs(int pos,int s,int step){
if(s>ans)return ;
if(step>=n-1){
s+=a[pos][n];
if(s<ans)ans=s;
return ;
}
int i;
for(i=2;i<n;i++){
if(!p[i]){
p[i]=1;
dfs(i,s+a[pos][i],step+1);
p[i]=0;
}
}
return ;
}
int main(){
freopen("luoge.in","r",stdin);
freopen("luoge.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&a[i][j]);
p[1]=1;
dfs(1,0,1);
cout<<ans;
return 0;
}
1 0
- DFS
- DFS
- dfs
- dfs
- dfs
- dfs
- DFS
- DFS
- dfs
- DFS
- DFS
- DFS
- dfs
- DFS
- dfs
- dfs
- dfs
- dfs
- 2017网易秋招笔试题 跳石板 C/C++
- VS编译 Lib库和Dll库的区别
- CodeForces702D. Road to Post Office(二分or数学)
- ubuntu安装python3.5
- HDU 1879 继续畅通工程(最小生成树 Kruskal)
- DFS
- C#解析PDF:客户化iTextSharp
- js-变量定义问题
- 斐波那契数列
- 路灯
- linux常用命令
- 结构算法导论——图
- Struts2.0学习笔记 --- 一些零碎知识点
- C#控制台基础 序列化一个可序列化类,将结果写入txt中