| 59 | |
| 60 | template <class T> |
| 61 | inline void remove(T &element, std::vector<T> &v) { |
| 62 | |
| 63 | auto it = std::find(v.begin(), v.end(), element); |
| 64 | |
| 65 | if (it != v.end()) { |
| 66 | using std::swap; |
| 67 | swap(*it, v.back()); |
| 68 | v.pop_back(); |
| 69 | } |
| 70 | } |
| 71 | |
| 72 | // Any element being on the board. |
| 73 | struct BoardElement { |