📄 3367989_ac_125ms_348k.cc
字号:
#include <stdio.h>
#include <algorithm>
using namespace std;
int n, d, k;
int num[1001][16];
int mark[16];
int ans;
void solve()
{
int tmp (0);
for (int i = 0; i < n; i++)
{
int cnt = 1;
for (int j = 1; j <= num[i][0]; j++)
{
if (mark[num[i][j]] == 0)
{
cnt = 0;
break;
}
}
tmp += cnt;
}
if (tmp > ans)
{
ans = tmp;
}
}
void _enum(int pos, int need)
{
if (need == 0)
{
solve();
return ;
}
for (int i = pos; i <= d - need + 1; i++)
{
mark[i] = 1;
_enum(i + 1, need - 1);
mark[i] = 0;
}
}
int main()
{
scanf("%d%d%d", &n, &d, &k);
for (int i = 0; i < n; i++)
{
scanf("%d", &num[i][0]);
for (int j = 1; j <= num[i][0]; j++)
{
scanf("%d", &num[i][j]);
}
}
memset(mark, 0, sizeof(mark));
ans = -1;
_enum(1, k);
printf("%d\n", ans);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -