poj2436.cpp

来自「本人最近在acm.pku.edu.cn上通过的程序」· C++ 代码 · 共 48 行

CPP
48
字号
#include <algorithm>
using namespace std;

int n, d, k;
int f[1000];

void init()
{
    scanf("%d %d %d", &n, &d, &k);
    for (int i = 0; i < n; i++)
    {
        int tn;
        scanf("%d", &tn);
        f[i] = 0;
        while (tn--)
        {
            int t;
            scanf("%d", &t);
            f[i] |= 1 << (t - 1);
        }
    }    
}


void solve()
{
    int ans = 0;
    for (int m = 0; m < (1 << d); m++)
    {
        int cnt = 0;
        for (int i = 0; i < d; i++)
            cnt += (m>>i) & 1;
        if (cnt > k) continue;
        int t = 0;
        for (int i = 0; i < n; i++)
            t += ((f[i] & ~m) == 0);
        ans >?= t;
    } 
    printf("%d\n", ans);
}

int main()
{
    init();
    solve();
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?