题目链接:hdu 5045 Contest
题目大意:一个队伍有N个人,比赛一共有M道题目,给定一个矩阵,表示每个人答对相应题目的正确率。现在对于每道题,可以派出一名学生参加答题,但是在任意时刻,任意两个学生答题数量不能相差2题以上。
解题思路:dp[i][s],表示在第i道题,s表示一个二进制状态,表示哪些人答过题(相应的),2N?1=0
#include
#include
#include
using namespace std; const int maxn = 15; const int maxm = 2005; const int maxs = (1<<10) + 5; const double INF = 0x3f3f3f3f; int N, M; double p[maxn][maxm], dp[maxm][maxm]; void init () { scanf("%d%d", &N, &M); for (int i = 0; i < N; i++) { for (int j = 1; j <= M; j++) scanf("%lf", &p[i][j]); } } double solve () { int T = 1<