Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TNode* Solve() {
- std::vector<TNode*> current;
- for (auto node : GetNodes())
- current.push_back(node);
- for (; current.size() > 1;) {
- std::vector<TNode*> next;
- for (size_t i = 0; i < current.size();) {
- size_t j = i + 1;
- for (; j < current.size(); ++j) {
- if (hasEdge(current[i], current[j]))
- break;
- }
- if (j == current.size()) {
- next.push_back(current[i]);
- ++i;
- } else {
- i = j;
- }
- }
- current.swap(next);
- }
- return current.front();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement