1 条题解
-
0
#include<bits/stdc++.h> using namespace std; #define maxn 1001 #define inf 0x3f3f3f3f int n, d, k; int a[1001], dp[1<<15], cnt[1<<15]; int main() { int i, j, m, s; scanf("%d%d%d", &n,&d,&k); for(i=0; i < (1<<d); i++) cnt[i] = cnt[i>>1] + (i&1); for(i = 1; i <= n; i++) { scanf("%d",&m); while(m--){ scanf("%d",&s); a[i] |= (1<<(s-1)); } } int ans = 0; for(i = (1<<d)-1; i >= 1; i--) { if(cnt[i]>k) continue; for(j = 1; j <= n; j++) { s = a[j]&i; if(s!=a[j]) continue; dp[i]++; if(dp[i]>ans) ans = dp[i]; } } printf("%d\n",ans); return 0; }
- 1
信息
- ID
- 1688
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 13
- 已通过
- 9
- 上传者