#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;
}
}

版权声明:本文博主原创文章。博客,未经同意不得转载。

最新文章

  1. cocos2d-x WebSocket
  2. iOS http post 上传图片
  3. 织梦dedecms调用子栏目的方法
  4. Qt之添加Windows资源文件(.rc文件)
  5. HDU(搜索专题) 1000 N皇后问题(深度优先搜索DFS)解题报告
  6. 让DataGridView显示行号
  7. VCL+FMX 双剑合壁编程
  8. Java实现堆排序
  9. linux下socket编程-TCP
  10. HTTP POST请求的Apache Rewrite规则设置
  11. redhat linux 5上创建本地yum源
  12. Xshell连接本地 Virtualbo Ubuntu
  13. [搜索]ElasticSearch Java Api(一) -添加数据创建索引
  14. 学习日志1 :java 三大框架 了解
  15. C++通过GetAdapatersInfo获取网卡配置信息
  16. C#版 - Leetcode 633. 平方数之和 - 题解
  17. Day04 (黑客成长日记) 集合记录
  18. django之模型层(model)--多表相关操作(图书管理小练习)
  19. P3594 [POI2015]WIL-Wilcze doły
  20. Ajax解决csrf_token的不同方式

热门文章

  1. Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值
  2. postman--基本使用1
  3. Java FutureTask Example Program(Java FutureTask例子)
  4. Hypervisor scheduler
  5. Unity自带网络功能——NetworkView组件、Serialize、RPC
  6. Java反射机制的简单应用
  7. Java反射学习总结三(静态代理)
  8. js课程 3-10 js中字符串函数数组函数和其它语言中对应函数的区别和联系是什么
  9. CD Linux U盘启动办法
  10. TEMPDB