防爆搜索解决方案hdu1572下沙面(2)
2024-08-31 22:14:39
#include<iostream>
#include<map>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
int cnt,ans,n,a[7],vis[1010],g[1010][1010];
void in()
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
cin>>g[i][j];
cin>>n;
cnt=0;
memset(vis,0,sizeof(vis));
while(n--)
{
cin>>a[cnt];
if(!vis[a[cnt]])
{
vis[a[cnt]]=1;
cnt++;
}
}
ans=10000;
memset(vis,0,sizeof(vis));
}
void dfs(int s,int w,int step)
{
if(step==cnt)
{
ans=min(ans,w);
return;
}
for(int i=0;i<cnt;i++)
{
if(!vis[a[i]])
{
vis[a[i]]=1;
dfs(a[i],w+g[s][a[i]],step+1);
vis[a[i]]=0;
}
}
}
int main()
{
while(cin>>n&&n!=0)
{
in();
dfs(0,0,0);
cout<<ans<<endl;
}
}
版权声明:本文博主原创文章。博客,未经同意不得转载。
最新文章
- cocos2d-x WebSocket
- iOS http post 上传图片
- 织梦dedecms调用子栏目的方法
- Qt之添加Windows资源文件(.rc文件)
- HDU(搜索专题) 1000 N皇后问题(深度优先搜索DFS)解题报告
- 让DataGridView显示行号
- VCL+FMX 双剑合壁编程
- Java实现堆排序
- linux下socket编程-TCP
- HTTP POST请求的Apache Rewrite规则设置
- redhat linux 5上创建本地yum源
- Xshell连接本地 Virtualbo Ubuntu
- [搜索]ElasticSearch Java Api(一) -添加数据创建索引
- 学习日志1 :java 三大框架 了解
- C++通过GetAdapatersInfo获取网卡配置信息
- C#版 - Leetcode 633. 平方数之和 - 题解
- Day04 (黑客成长日记) 集合记录
- django之模型层(model)--多表相关操作(图书管理小练习)
- P3594 [POI2015]WIL-Wilcze doły
- Ajax解决csrf_token的不同方式