2014 ACM/ICPC
Asia Regional Shanghai Online

给出N个人做M道题的正确率,每道题仅仅能由一个人做出,而且当全部人都做出来且仅做出一道题时,做过题的人才干够继续做题,求最大期望。

一共仅仅有10个人,状压存储每一个人是否已经做出题目,假设都作出则状态清0。

#include "stdio.h"
#include "string.h" double Max(double a,double b)
{
if (a<b) return b;else return a;
}
double ans,dp[1010][1050],a[1010][1010];
int main()
{
int Case,ii,i,j,aim,k,n,m,peo; scanf("%d",&Case);
for (ii=1;ii<=Case;ii++)
{
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
scanf("%lf",&a[i][j]); printf("Case #%d: ",ii); aim=(1<<n)-1;
for (i=0;i<=m;i++)
for (j=0;j<=aim;j++)
dp[i][j]=-1; dp[0][0]=0; for (j=1;j<=m;j++)
for (i=0;i<=aim;i++)
if (dp[j-1][i]!=-1)
for (k=1;k<=n;k++)
{
peo=1<<(k-1);
if ((i&peo)==peo) continue;
peo|=i;
if (peo==aim) peo=0; dp[j][peo]=Max(dp[j][peo],dp[j-1][i]+a[k][j]);
}
ans=0;
for (i=0;i<=aim;i++)
ans=Max(ans,dp[m][i]); printf("%.5lf\n",ans);
}
}

最新文章

  1. SCVMM中Clone虚拟机失败显示Unsupported Cluster Configuration状态
  2. IBatis 2.x 和 MyBatis 3.0.x 的区别(从 iBatis 到 MyBatis)
  3. 第一章 JavaScript简史
  4. linux 文件管理以及其相关指令
  5. PostGreSQL 分页
  6. maven环境快速搭建(转)
  7. UVA 568 Just the Facts (水)
  8. mysql数据库优化日志(更)-howyue
  9. IOS本地化。
  10. git 使用详情
  11. akka-stream与actor系统集成以及如何处理随之而来的背压问题
  12. Nginx如何设置禁止IP访问网站
  13. django model 条件过滤 queryset.filter(**condtions) 用法
  14. linux 新进程的创建
  15. PHP通用分页类page.php[仿google分页]
  16. Linux Ubuntu下软件包管理
  17. insert into 的另一种添加插入新行方式
  18. webpack 踩的坑
  19. 【[APIO2010]巡逻】
  20. 浅谈DB2在线分析处理函数

热门文章

  1. 0x63树的直径与最近公共祖先
  2. Linux - 设置SFTP服务用户目录权限
  3. Tool-Java:Eclipse
  4. 什么是CAS?
  5. [XJOI]noip44 T3还有这种操作
  6. INFORMIX MATCHES的使用详解
  7. (转载) android studio library生成jar包和aar的方法总结
  8. PostgreSQL的HA解决方案-项目概述
  9. 添加图标:before 和 :after css中用法
  10. javase 异常处理