Advertisement
Michaelowski

Untitled

Jun 22nd, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.29 KB | None | 0 0
  1. void algos(int x, int y)                                                //zjebana funkcja, która nie działa
  2. {
  3.     if (x == y)
  4.         wsk=0;
  5.     else
  6.         wsk = max(wsk, abs(odl[x]));
  7.    
  8.     odw[x] = true;
  9.    
  10.     printf("start - %d, wierzch - %d\n", y, x);
  11.    
  12.     for (int j = 0; j < (int) v[x].size(); j++)                         //lecimy po synach
  13.     {
  14.         if (odw[v[x][j].f] == false)
  15.         {
  16.             odl[v[x][j].f] = odl[x] + v[x][j].s;
  17.            
  18.             if (odl[v[x][j].f] < 0)                                     //sprawdzamy wartości na tej drodze
  19.             {
  20.                 ujemnep[-odl[v[x][j].f]]++;
  21.                 wyn+=dodatnie[-odl[v[x][j].f]];
  22.             }
  23.            
  24.             if (odl[v[x][j].f] > 0)
  25.             {
  26.                 dodatniep[odl[v[x][j].f]]++;
  27.                 wyn+=ujemne[odl[v[x][j].f]];
  28.             }
  29.            
  30.             if (odl[v[x][j].f] == 0)
  31.             {
  32.                 dodatnie[0]++;
  33.                 wyn+=dodatnie[0];
  34.             }
  35.            
  36.             algos(v[x][j].f, y);                                        //wrzucamy syna do funkcji
  37.         }
  38.     }
  39.    
  40.     for (int h = 0; h <= wsk; h++)                                      // nie mam pojęcia co to robi, ale chyba robi dobrze xd
  41.     {
  42.         ujemne[h] += ujemnep[h];
  43.         dodatnie[h] += dodatniep[h];
  44.        
  45.         ujemnep[h] = 0;
  46.         dodatniep[h] = 0;
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement