zoj3471

来源:互联网 发布:淘宝回收卡西欧被骗了 编辑:程序博客网 时间:2024/06/03 10:34
#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<cmath>using namespace std;int dp[2048];int map[12][12];int bin[]={0,1,2,4,8,16,32,64,128,256,512,1024};int main(){    int n,i,j,k;    while(~scanf("%d",&n))    {        if(n==0)break;        for(i=1;i<=n;i++)          for(j=1;j<=n;j++)            scanf("%d",&map[i][j]);        memset(dp,0,sizeof(dp));        for(i=0;i<bin[n+1];i++)          for(k=1;k<=n;k++)            if((i&bin[k])==0)              for(j=1;j<=n;j++)                if((i&bin[j])==0&&k!=j)                  dp[i+bin[j]]=max(dp[i]+map[k][j],dp[i+bin[j]]);        int ans=0;        for(i=0;i<bin[n+1];i++)          ans=max(ans,dp[i]);        printf("%d\n",ans);    }}

原创粉丝点击