Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.File;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.*;
- public class Solve {
- public static void main(String[] args) throws IOException {
- Scanner sc = new Scanner(new File(args[0]));
- PrintWriter writer = new PrintWriter(args[1]);
- int n = sc.nextInt();
- List<Integer> l = new ArrayList<>();
- while (sc.hasNext()) {
- l.add(sc.nextInt());
- }
- Collections.sort(l);
- int d[] = new int[l.size()];
- solve(l, 0, 0, n, d, 0, writer);
- sc.close();
- writer.close();
- }
- private static void solve(List<Integer> l, int idx, int sum, int n, int[] d, int dpos, PrintWriter writer) {
- for (int i = idx; i < l.size(); i++) {
- int v = sum + l.get(i);
- d[dpos] = l.get(i);
- if (v < n) {
- solve(l, idx + i + 1, v, n, d, dpos + 1, writer);
- } else if (v == n) {
- for (int j = 0; j < dpos + 1; j++) {
- writer.print(String.format("%d ", d[j]));
- }
- writer.println();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement