Description

给出一个数字N,N<=11.代表有N个人分担N个危险的工作。

每个人对应每个工作,有个危险值

每个人担任其中一项,问每个人危险值相加,最小值是多少。

Input

第一行给出数字N,接下来N行N列

第i行第j列,代表第i个人担负第j个工作的危险值是多少

Output

如题

Sample Input

3

10 2 3

2 3 4

3 4 5

Sample Output

9

这道题目就是一道DFS的题目,每次考察取哪一个人做哪一个项目,但是要注意的是:

1.已经有项目的人不能再安排了
2.如果遇到当前危险值大于目前最小危险值的情况,剪枝

因为这道题目数据较小,所以不需要过分剪枝就可以AC。

#include<bits/stdc++.h>
using namespace std;
int n,d[20][20];
bool flag[20];
int ans=0x3f3f3f3f;
void dfs(int dep,int sum)
{
if(sum>ans)return;
if(dep==n+1)
{
ans=sum;
return;
}
for(int i=1;i<=n;i++)
{
if(!flag[i])
{
flag[i]=1;
dfs(dep+1,sum+d[i][dep]);
flag[i]=0;
}
}
return;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>d[i][j];
}
}
dfs(1,0);
cout<<ans<<endl;
return 0;
}

最新文章

  1. CSS之立方体绘画步骤
  2. 地址(Address)——WCF学习笔记(2)
  3. 在Fragment中获取Activity中数据
  4. ionic2 页面加载时图片添加的问题
  5. -_-#【JS】defer / async
  6. (转)如何在高并发分布式系统中生成全局唯一Id
  7. show processlist 输出ID 和 information_schema.PROCESSLIST 的id,information_schema.innodb_trx的TRX_MYSQL_T
  8. java-web-j2e学习建议路线
  9. ThinkPHP中连接mysql数据库的四种实用和通用的连接方法
  10. mysql简单建表
  11. SVM入门(一)
  12. Hbase中HMaster作用
  13. Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll
  14. 手写数字识别 ----在已经训练好的数据上根据28*28的图片获取识别概率(基于Tensorflow,Python)
  15. MongoDB副本集(一主两从)读写分离、故障转移功能环境部署记录
  16. Spring Mvc和Spring Boot读取Profile方式
  17. [js]js中事件的3要素
  18. 描述: http通讯基础类
  19. 在function module 中向数据库插入数据
  20. SVG 学习&lt;八&gt; SVG的路径——path(2)贝塞尔曲线命令、光滑贝塞尔曲线命令

热门文章

  1. Win10《芒果TV》更新v3.5.0夏至版:会员尊享蓝光画质,关联本地视频播放
  2. C# DataGridView合计行
  3. WCF nginx反向代理遇到的问题
  4. vs编译在win xp电脑上运行的win32程序遇到的问题记录(无法定位程序输入点GetTickCount64于动态链接库KERNEL32.dll)
  5. QString unsigned char* 的转换
  6. VS 查看是否有内存泄露的方法
  7. Java基础(五) final关键字浅析
  8. 深度强化学习day01初探强化学习
  9. 记录一次关于Cookie、Json中文乱码的解决方法
  10. OVS实现VXLAN隔离