#include <algorithm>
#include <iostream>
#include <vector>
typedef std::pair<int, int> CellCoordinates;
int main()
{
std::vector<CellCoordinates> cells;
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 3; ++j) {
cells.emplace_back(i, j);
}
}
for (int i = 0, size = cells.size(); i < 9; ++i, --size) {
std::cout << "Cells left: " << size << std::endl;
int index = rand() % (size + 1);
CellCoordinates cell = cells[index];
std::cout << cell.first << " "
<< cell.second << std::endl;
std::remove(cells.begin(), cells.end(), cell);
}
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKdHlwZWRlZiBzdGQ6OnBhaXI8aW50LCBpbnQ+IENlbGxDb29yZGluYXRlczsKCmludCBtYWluKCkKewoJc3RkOjp2ZWN0b3I8Q2VsbENvb3JkaW5hdGVzPiBjZWxsczsKCQoJZm9yIChpbnQgaSA9IDA7IGkgPCAzOyArK2kpIHsKCQlmb3IgKGludCBqID0gMDsgaiA8IDM7ICsraikgewoJCQljZWxscy5lbXBsYWNlX2JhY2soaSwgaik7CgkJfQoJfQoJCglmb3IgKGludCBpID0gMCwgc2l6ZSA9IGNlbGxzLnNpemUoKTsgaSA8IDk7ICsraSwgLS1zaXplKSB7CgkJc3RkOjpjb3V0IDw8ICJDZWxscyBsZWZ0OiAiIDw8IHNpemUgPDwgc3RkOjplbmRsOwoJCQoJCWludCBpbmRleCA9IHJhbmQoKSAlIChzaXplICsgMSk7CgkJQ2VsbENvb3JkaW5hdGVzIGNlbGwgPSBjZWxsc1tpbmRleF07CgkJCgkJc3RkOjpjb3V0IDw8IGNlbGwuZmlyc3QgPDwgIiAiCgkJCTw8IGNlbGwuc2Vjb25kIDw8IHN0ZDo6ZW5kbDsKCQkJCgkJc3RkOjpyZW1vdmUoY2VsbHMuYmVnaW4oKSwgY2VsbHMuZW5kKCksIGNlbGwpOwoJfQoJCglyZXR1cm4gMDsKfQ==