Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package plecakbezpowtarzania;
- public class PlecakBezPowtarzania {
- public static void main(String[] args) {
- final int N = 6;
- int[] tab = new int[N + 1];
- int s = (int) Math.pow(2, N);
- int[] wartosci = {6, 4, 5, 7, 10, 2};
- int[] objetosci = {6, 2, 3, 2, 3, 1};
- int[] zapisane = new int[N];
- int[] zapisaneNajwieksze = new int[N];
- int maks = 0;
- int najwieksza = 0;
- int objetosc = 0;
- int licznik = 0;
- for (int l = 0; l < s; l++) {
- for (int i = 0; i < N; i++) {
- if (tab[i] == 1) {
- if ((objetosc += objetosci[i]) <= 10) {
- maks += wartosci[i];
- zapisane[licznik] = i;
- licznik++;
- }
- }
- }
- objetosc = 0; if (maks > najwieksza) {
- najwieksza = maks;
- zapisaneNajwieksze = new int[licznik];
- for (int i = 0; i < licznik; i++) {
- zapisaneNajwieksze[i] = zapisane[i];
- }
- }
- zapisane = new int[N];
- licznik = 0;
- int i = 0;
- maks = 0;
- do
- {
- if (tab[i] == 1)
- {
- tab[i] = 0;
- i++;
- } else {
- tab[i] = 1;
- break;
- }
- } while (true);
- }
- System.out.println("Uzyto : ");
- for (int i = 0; i < zapisaneNajwieksze.length; i++) {
- System.out.print(zapisaneNajwieksze[i] + " ");
- }
- System.out.println();
- System.out.println("Wynik :" + najwieksza);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement