62,615
社区成员
发帖
与我相关
我的任务
分享
public static void main(String[] args) {
int[][] arr = {{2, 4}, {1, 6}, {3, 7}, {5}, {1, 4, 6}, {2, 5}, {3, 6, 7}};
g(arr);
}
public static void g(int[][] arr) {
g(arr, 0, 0);
}
private static void g(int[][] arr, int c, int s) {
if (c >= arr.length) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i][0]);
}
System.out.println();
return;
}
int[] a = arr[c];
for (int i = 0; i < a.length; i++) {
int temp = a[i];
int x = 1 << temp >> 1;
if ((s & x) == 0) {
a[i] = a[0];
a[0] = temp;
g(arr, c + 1, s + x);
a[0] = a[i];
a[i] = temp;
}
}
}