写的垃圾,仅供参考

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] strs = sc.nextLine().split(" ");
int[] nums = new int[strs.length];
for (int i = 0; i < nums.length; i++) {
nums[i] = Integer.parseInt(strs[i]);
}
sc.close();
List<String> list = new ArrayList<String>();
cal(nums,0,list);
Collections.sort(list);
for (String string : list) {
System.out.println(string);
}
}
public static void cal(int[] nums,int index,List<String> list) {
if (index==nums.length) {
print(nums,list);
return;
}
if (nums[index]==0) {
nums[index] = 1;
cal(nums,index,list);
nums[index] = 0;
}
cal(nums,index+1,list);
}
public static void print(int[] nums,List<String> list) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < nums.length; i++) {
if (nums[i]==1) {
sb.append(i);
}
}
list.add(sb.toString());
}
}