Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2017
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.49 KB | None | 0 0
  1. TNode* Solve() {
  2.     std::vector<TNode*> current;
  3.     for (auto node : GetNodes())
  4.         current.push_back(node);
  5.     for (; current.size() > 1;) {
  6.         std::vector<TNode*> next;
  7.         for (size_t i = 0; i < current.size();) {
  8.             size_t j = i + 1;
  9.             for (; j < current.size(); ++j) {
  10.                 if (hasEdge(current[i], current[j]))
  11.                     break;
  12.             }
  13.             if (j == current.size()) {
  14.                 next.push_back(current[i]);
  15.                 ++i;
  16.             } else {
  17.                 i = j;
  18.             }
  19.         }
  20.         current.swap(next);
  21.     }
  22.     return current.front();
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement