Advertisement
Guest User

Untitled

a guest
Sep 18th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Main {
  4. private static int aktualnyVysledok;
  5.  
  6. public static void main(String[] args) {
  7. Scanner s = new Scanner(System.in);
  8. int pocetVstupov = s.nextInt();
  9.  
  10. int[] vystupy = new int[pocetVstupov];
  11.  
  12. for (int i = 0; i < pocetVstupov; i++) {
  13. aktualnyVysledok = 0;
  14. int pocetVeci = s.nextInt();
  15.  
  16. int kapacitaBatoha = s.nextInt();
  17.  
  18. int[] vahyVeci = new int[pocetVeci];
  19. int[] hodnotyVeci = new int[pocetVeci];
  20. boolean[] beriemVec = new boolean[pocetVeci];
  21.  
  22. for (int j = 0; j < pocetVeci; j++)
  23. vahyVeci[j] = s.nextInt();
  24.  
  25. for (int j = 0; j < pocetVeci; j++)
  26. hodnotyVeci[j] = s.nextInt();
  27.  
  28. generuj(0, vahyVeci, hodnotyVeci, beriemVec, kapacitaBatoha);
  29.  
  30. vystupy[i] = aktualnyVysledok;
  31. }
  32.  
  33. for (int i = 0; i < vystupy.length; i++)
  34. System.out.println(vystupy[i]);
  35. s.close();
  36. }
  37.  
  38. private static void generuj(int i, int[] vahyVeci, int[] hodnotyVeci,
  39. boolean[] beriemVec, int kapacitaBatoha) {
  40. if (beriemVec.length <= i) {
  41. skontroluj(vahyVeci, beriemVec, kapacitaBatoha);
  42. return;
  43. }
  44.  
  45. beriemVec[i] = true;
  46. generuj(i + 1, hodnotyVeci, hodnotyVeci, beriemVec, kapacitaBatoha);
  47. beriemVec[i] = false;
  48. generuj(i + 1, hodnotyVeci, hodnotyVeci, beriemVec, kapacitaBatoha);
  49.  
  50. }
  51.  
  52. private static void skontroluj(int[] vahyVeci, boolean[] beriemVec,
  53. int kapacitaBatoha) {
  54. int sucetVah = 0;
  55. for (int i = 0; i < vahyVeci.length; i++) {
  56. if (beriemVec[i])
  57. sucetVah += vahyVeci[i];
  58. }
  59.  
  60. if (kapacitaBatoha <= sucetVah)
  61. aktualnyVysledok = sucetVah;
  62.  
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement