Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void P2C_max::dynamiczne()
- {
- int suma = 1,
- q = 0,
- naj = 0,
- x = 0;
- for(int i = 0; i < liczba_zadan; i++)
- suma += tablica[i];
- int M[liczba_zadan][suma];
- for(int i = 0; i < liczba_zadan; i++)
- {
- for (int j = 0; j < suma; j++)
- {
- M[i][j] = 0;
- }
- }
- for(int i = 0; i < liczba_zadan; i++)
- {
- for (int j = 0; j < suma; j++)
- {
- if(i==0)
- {
- M[0][0] = 1;
- M[0][tablica[i]]=1;
- }
- else
- {
- if(M[i-1][j]==1 or M[i-1][j-tablica[i]]==1)
- {
- M[i][j]=1;
- }
- M[i][tablica[i]]=1;
- M[i][tablica[i]+tablica[i-1]]=1;
- }
- if(i == liczba_zadan-1 and j == suma-1)
- {
- naj = suma/MASZYNY;
- if(M[i][naj]==1)
- {
- najlepsza_trasa = naj;
- }
- else
- {
- while(naj--)
- {
- if(M[i][naj]==1)
- {
- najlepsza_trasa = naj;
- break;
- }}}
- }}
- }
- x = najlepsza_trasa;
- for(int i = liczba_zadan-1; i >= 0; i--)
- {
- if(i == 0)
- {
- if(x==i)
- q = 1;
- else
- q = 0;
- }
- else
- {
- if(M[i-1][x] == 1)
- {
- q = 1;
- }
- else if (M[i-1][x-tablica[i]] == 1)
- {
- q = 0;
- x -= tablica[i];
- }
- }
- trasa[i] = q;
- }
- for(int i = 0; i<liczba_zadan; i++)
- sciezka[i]=trasa[i];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement