NOIP2017D2T2宝藏(不知为啥95)

                        #include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int f[13][8000],g[13][8000];
int mep[13][13];
int main()
{
    int n,m;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;i++)
    {
        int a,b,c;
        scanf("%d%d%d",&a,&b,&c);
        if(mep[a][b]!=0) mep[a][b]=min(mep[a][b],c);
        else mep[a][b]=c;
        mep[b][a]=mep[a][b];
    }
    memset(f,60,sizeof(f));
    for(int i=1;i<=n;i++) {f[i][(1<<(i-1))]=0;}
    for(int i=1;i<(1<<n);i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(((1<<(j-1))|i)==i)
            {
                for(int k=1;k<i;k++)
                {
                    if((k|i)==i&&(((1<<(j-1))|(i-k))==(i-k)))
                    {
                        for(int a=1;a<=n;a++)
                        {
                            if(((1<<(a-1))|k)==k)
                            {
                                if(mep[a][j]!=0)
                                {
                                    //if(i==3&&j==1) {cout<<g[a][k]<<f[j][i-k]<<f[a][k]<<endl;return 0;}
                                    
                                    if(f[j][i]>f[j][i-k]+f[a][k]+g[a][k]+mep[j][a])
                                    {
                                        f[j][i]=f[j][i-k]+f[a][k]+g[a][k]+mep[j][a];
                                        g[j][i]=g[j][i-k]+g[a][k]+mep[j][a];
                                        //cout<<j<<" "<<i-k<<" "<<f[j][i-k]<<endl;
                                        //cout<<a<<" "<<k<<" "<<f[a][k]<<endl;
                                        //cout<<j<<" "<<i<<" "<<f[j][i]<<endl;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    int ans=2147483233;
    for(int i=1;i<=n;i++) ans=min(ans,f[i][(1<<n)-1]);
    cout<<ans;
}
                    

 

posted @ 2017-11-28 16:31  秦こころ酱  阅读(324)  评论(0编辑  收藏  举报