#include<stdio.h>
#include<string.h>
int Max(int a,int b) {
return
a>b?a:b;
}
int
dp[3][1<<21];
int
map[30][30];
int
s[1<<21];
int main() {
int
i,j,k,n,num=0;
for(
i=0;i<(1<<21);i++)
if(!(
i&(i<<1)))
s[num++]=i;
while(
scanf("%d",&n)!=EOF) {
int
limit=1<<n;
for(
i=0;i<n;i++)
for(
j=0;j<n;j++)
scanf("%d",&map[i][j]);
memset(dp,0,sizeof(dp));
int
p=0;
for(
i=0;i<n;i++) {
p^=1;
for(
j=0;j<num;j++) {
int
sum=0;
if(
s[j]>limit)
break;
for(
k=0;k<n;k++)
if(
s[j]&(1<<k))
sum+=map[i][k];
for(
k=0;k<num;k++) {
if(
s[k]>limit)
break;
if(!(
s[j]&s[k]))
dp[p][s[j]]=Max(dp[p][s[j]],dp[1-p][s[k]]+sum);
}
}
}
int
max=0;
for(
i=0;i<num&&s[i]<=limit;i++)
max=Max(max,dp[p][s[i]]);
printf("%d\n",max);
}
return
0;
}

最新文章

  1. ACM 谁获得了最高奖学金
  2. 深入理解requestAnimationFrame
  3. Android Eclipse真机调试 过滤器filter没有显示
  4. js中字符串的截取
  5. 13.python中的字典
  6. (ios开发学习笔记一)ios项目文件结构
  7. HW5.33
  8. 标准IO库
  9. 导入Excel 文件(图片和文字)NPOI+BootStrap fileinput 插件 的结合使用
  10. HyperLedger Fabric 1.1 手动部署单机单节点
  11. zookeeper+kafka集群安装之二
  12. iframe内document事件监听
  13. Storm中重要对象的生命周期
  14. Java并发编程:synchronized、Lock、ReentrantLock以及ReadWriteLock的那些事儿
  15. js 创建Date对象5种方式
  16. Python 工匠:编写条件分支代码的技巧
  17. (转)memcache缓存
  18. Android开发:《Gradle Recipes for Android》阅读笔记(翻译)5.1——单元测试
  19. Eclipse 工作空间(Workspace)
  20. MD04

热门文章

  1. [转]自定义ASP.NET MVC JsonResult序列化结果
  2. 【C#】将数据库读出的数据转换为DataTable类型集合
  3. laravel之伪造跨站请求保护CSRF实现机制
  4. JS正则匹配待重命名文件名
  5. cnbeta新闻资讯第三方客户端应用
  6. tree iview treeData json数据 添加 selected 数据 要进行vue.set 进行响应式添加
  7. Java文件编译与反编译:javac命令和javap命令
  8. Microsoft Windows Server
  9. c/s端测试——nw.js篇(selenium工具)
  10. C++11程序设计要点总结-模板机制详解