2017计蒜之道 第三场 腾讯狼人杀(简单)
来源:互联网 发布:威锋网 mac office 编辑:程序博客网 时间:2024/05/22 12:31
题意:一共有n个人,某些两两的组合可以产生战斗力,一个人可以分别和很多人组合且战斗力叠加,需要花费的资金为k*(n*2-k),k为你选的人的个数,求一个选择方案,使得资金利用率最大(利用率:战斗力/花费的资金)。
思路:简单版本n的最大个数为20,所以可以用二进制枚举,时间复杂度为:2的20次方*n*n;
#include <iostream>#include <cstdio>using namespace std;int arr[21][21];int pd[21];int main(){ int n,m; cin>>n>>m; for(int i = 0;i<m;i++) { int a,b,p; cin>>a>>b>>p; a--,b--; arr[a][b] = p; } for(int i = 0;i<n;i++) { cin>>pd[i]; } int en = (1<<n); double ans = 0; for(int st = 0;st<en;st++) { int flag = 0; for(int i = 0;i<n;i++) { if(pd[i]) { if(!(st&(1<<i))) { flag = 1; break; } } } if(flag) continue; int k = 0; double res = 0,sum = 0; for(int i = 0;i<n;i++) { if(st&(1<<i)) { k++; for(int j = 0;j<n;j++) { if(j!=i&&(st&(1<<j))) { sum += arr[i][j]; } } } } res = sum/(k*(n*2-k)); ans = max(res,ans); } printf("%.4lf",ans); return 0;}
阅读全文
0 0
- 2017计蒜之道 第三场 腾讯狼人杀(简单)
- 2017 计蒜之道 初赛 第三场 腾讯狼人杀(简单)(暴搜)
- [最大密度子图] 2017 计蒜之道 初赛 第三场 腾讯狼人杀
- [最大密度子图] 2017 计蒜之道 初赛 第三场. 腾讯狼人杀
- 2017 计蒜之道 初赛 第三场-A. 腾讯课堂的物理实验
- 2017 计蒜之道初赛第三场 A.腾讯课堂的物理实验
- 2017 计蒜之道 初赛 第三场 A. 腾讯课堂的物理实验
- 计蒜之道 初赛 第三场--腾讯手机地图 题解
- 2017 计蒜之道 初赛 第三场
- 2017 计蒜之道 初赛 第三场 A+B
- 2017 计蒜之道 初赛 第三场
- 2017 计蒜之道 初赛 第一场 阿里天池的新任务(简单)(KMP)
- 2017计蒜之道 初赛第一场 阿里天池的新任务(简单)
- 2017 计蒜之道 初赛 第二场 百度的科学计算器(简单)
- 2017 计蒜之道 初赛 第二场 B.百度的科学计算器(简单)
- 2017 计蒜之道 初赛 第一场 阿里的天池任务(简单)
- 2017 计蒜之道 初赛 第二场 B. 百度的科学计算器(简单)
- 2017计蒜之道初赛第四场-商汤科技的行人检测(简单)
- 2. J2EE
- Python
- vs打包
- 区分正向代理和反向代理(forward proxy, reverse proxy)
- 【设计模式】观察者模式
- 2017计蒜之道 第三场 腾讯狼人杀(简单)
- k.计软联谊 「游族杯」上海市高校程序设计邀请赛(数论)
- vue事件绑定详解
- android fragment懒加载细致解析
- TensorFlow 学习
- 【swift】点击textfield弹出日历等
- 跳跃的数字
- python 基础知识回顾篇之简单迭代和列表生成
- 使用Google Cartographer算法在Turtlebot等移动平台上跑SLAM