zoukankan      html  css  js  c++  java
  • 防爆搜索解决方案hdu1572下沙面(2)

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

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

  • 相关阅读:
    设计模式之中介者模式
    解释器模式(行为模式)
    进程池Pool
    Process子类
    multiprocessing
    random
    re
    time和datetime
    logging 日志
    hashlib
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4904842.html
Copyright © 2011-2022 走看看