Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.12 KB | None | 0 0
  1. // ДО
  2. if (x1 == 0) {
  3.     if (u < 0) {
  4.         if (svm[-u - 1] != 0 && svm[-u - 1] != v) {
  5.             x1 = u;
  6.             x2 = svm[-u - 1];
  7.             x3 = v;
  8.         } else
  9.             svm[-u - 1] = v;
  10.     } else {
  11.         if (sv[u - 1] != 0 && sv[u - 1] != v) {
  12.             x1 = u;
  13.             x2 = sv[u - 1];
  14.             x3 = v;
  15.         } else
  16.             sv[u - 1] = v;
  17.     }
  18.     if (v < 0) {
  19.         if (svm[-v - 1] != 0 && svm[-v - 1] != u) {
  20.             x1 = v;
  21.             x2 = svm[-v - 1];
  22.             x3 = u;
  23.         } else
  24.             svm[-v - 1] = u;
  25.     } else {
  26.         if (sv[v - 1] != 0 && sv[v - 1] != u) {
  27.             x1 = v;
  28.             x2 = sv[v - 1];
  29.             x3 = u;
  30.         } else
  31.             sv[v - 1] = u;
  32.     }
  33. }
  34. // ПОСЛЕ
  35. if (x1 == 0) {
  36.     auto f = [&x1, &x2, &x3](int &s, int u, int v) {
  37.         if (s != 0 && s != v)
  38.             x1 = u, x2 = s, x3 = v;
  39.         else
  40.             s = v;
  41.     };
  42.  
  43.     if (u < 0)
  44.         f(svm[-u - 1], u, v);
  45.     else
  46.         f(sv[-u - 1], u, v);
  47.  
  48.     if (v < 0)
  49.         f(svm[v - 1], v, u);
  50.     else
  51.         f(sv[v - 1], v, u);
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement