Lang:Java
Edit12345678910111213141516171819202122232425262728293031import java.util.*;public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);int t = sc.nextInt();for(int tt = 0; tt < t; tt++) {int n = sc.nextInt();int m = sc.nextInt();int[][] ans = new int[2][1024];for (int i = 1; i < (1 << m); i++) {ans[0][i] = -100000;}for(int i = 1; i <= n; i++) {int v = sc.nextInt();int s = sc.nextInt();int k = 0;for (int j = 0; j < s; j++) {int l = sc.nextInt();k |= 1 << (l -1);}for(int j = 0; j < (1 << m); j++) {ans[i & 1][j] = Math.max(ans[i & 1 ^ 1][j ^ k] + v, ans[i & 1 ^ 1][j]);}}System.out.println(ans[n & 1][(1 << m) - 1]);}