Advertisement
Guest User

Untitled

a guest
May 26th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.16 KB | None | 0 0
  1. import java.io.File;
  2. import java.io.IOException;
  3. import java.io.PrintWriter;
  4. import java.util.*;
  5.  
  6. public class Solve {
  7.     public static void main(String[] args) throws IOException {
  8.         Scanner sc = new Scanner(new File(args[0]));
  9.         PrintWriter writer = new PrintWriter(args[1]);
  10.  
  11.         int n = sc.nextInt();
  12.         List<Integer> l = new ArrayList<>();
  13.         while (sc.hasNext()) {
  14.             l.add(sc.nextInt());
  15.         }
  16.         Collections.sort(l);
  17.         int d[] = new int[l.size()];
  18.         solve(l, 0, 0, n, d, 0, writer);
  19.         sc.close();
  20.         writer.close();
  21.     }
  22.  
  23.     private static void solve(List<Integer> l, int idx, int sum, int n, int[] d, int dpos, PrintWriter writer) {
  24.         for (int i = idx; i < l.size(); i++) {
  25.             int v = sum + l.get(i);
  26.             d[dpos] = l.get(i);
  27.             if (v < n) {
  28.                 solve(l, idx + i + 1, v, n, d, dpos + 1, writer);
  29.             } else if (v == n) {
  30.                 for (int j = 0; j < dpos + 1; j++) {
  31.                     writer.print(String.format("%d ", d[j]));
  32.                 }
  33.                 writer.println();
  34.             }
  35.         }
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement