状压搜索轻轻松松就过了……考场上代码太丑了T了几个点

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int n, m, uu, vv, ww, w[15][15], dis[15], dp[100005], ans;
const int oo=0x3f3f3f3f;
void dfs(int x){
for(int i=1; i<=n; i++)
if(x&(1<<(i-1)))
for(int j=1; j<=n; j++)
if(!(x&(1<<(j-1))) && w[i][j]<oo)
if(dp[x|(1<<(j-1))]>dp[x]+dis[i]*w[i][j]){
int t=dis[j];
dis[j] = dis[i] + 1;
dp[x|(1<<(j-1))] = dp[x] + dis[i] * w[i][j];
dfs(x|(1<<(j-1)));
dis[j] = t;
}
}
int main(){
cin>>n>>m;
ans = oo;
memset(w, 0x3f, sizeof(w));
for(int i=1; i<=m; i++){
scanf("%d %d %d", &uu, &vv, &ww);
w[uu][vv] = w[vv][uu] = min(w[vv][uu], ww);
}
for(int i=1; i<=n; i++){
memset(dis, 0x3f, sizeof(dis));
memset(dp, 0x3f, sizeof(dp));
dp[1<<(i-1)] = 0;
dis[i] = 1;
dfs(1<<(i-1));
ans = min(ans, dp[(1<<n)-1]);
}
cout<<ans;
return 0;
}

最新文章

  1. Linux进程间通信之消息队列
  2. shell脚本检测局域网内存活主机
  3. Java初学之华容道游戏
  4. 几种JavaScript富应用MVC MVVM框架
  5. [cocos2d-x3.0]Android+NDK+Eclipse环境搭建及编译步骤~
  6. EF+SQLSERVER控制并发下抢红包减余额(改进)
  7. Jmeter 正则提取器
  8. 树状数组(瞎bb) [树状数组]
  9. H5新手快速入门 简单布局
  10. WPF介绍
  11. 1、IDEA的常用快捷键
  12. OpenStack--ntp组件时间同步服务
  13. Redis(REmote DIctionary Server)基础
  14. Linux 下安装多个 tomcat
  15. bzoj2560串珠子(子集dp)
  16. MyOD
  17. day2 查看文件目录命令:ls
  18. InstrumentDriver,对iOS自动化测试说 Yes!
  19. [py]py里的isinstance判断实例来源(含父类)
  20. CSS阻塞渲染、怎么防止css阻塞

热门文章

  1. websocket来回收发消息
  2. Hdu 5458 Stability (LCA + 并查集 + 树状数组 + 缩点)
  3. 素数+map BestCoder Round #54 (div.2) 1002 The Factor
  4. HDU 4366 Successor 分块做法
  5. 合理设置apache的连接数及进程工作方式
  6. AJPFX总结线程创建的两种方法
  7. cacti支持中文办法
  8. java读取大文件 超大文件的几种方法
  9. 推荐一个高大上的网易云音乐命令行播放工具:musicbox
  10. Piston Pump Manufacturers - Mobile Cartridge Piston Pump: Advantages