#include <iostream>
#include <utility>
#include <set>
using namespace std;
using OP = pair<unsigned, unsigned>;
using SOP = set<OP>;
bool is_symetric (SOP sop) {
for (auto it3 = sop.begin(); it3 != sop.end(); it3++) { // loop through each pair in set
if (it3->first != it3->second) {
if (sop.find({it3->second,it3->first })==sop.end()) {
return false;
}
}
}
return true;
}
int main() {
SOP test1 { {1,3},{2,4},{5,7},{7,5}, {4,2}, {3,1} };
SOP test2 { {1,3},{2,4},{5,7},{7,5}, {4,2}, {3,1}, {8,4} };
cout << is_symetric(test1)<<endl;
cout << is_symetric(test2)<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPHNldD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVzaW5nIE9QID0gcGFpcjx1bnNpZ25lZCwgdW5zaWduZWQ+Owp1c2luZyBTT1AgPSBzZXQ8T1A+OyAKCgoKYm9vbCBpc19zeW1ldHJpYyAoU09QIHNvcCkgewoKICAgIGZvciAoYXV0byBpdDMgPSBzb3AuYmVnaW4oKTsgaXQzICE9IHNvcC5lbmQoKTsgaXQzKyspIHsgLy8gbG9vcCB0aHJvdWdoIGVhY2ggcGFpciBpbiBzZXQKICAgICAgICBpZiAoaXQzLT5maXJzdCAhPSBpdDMtPnNlY29uZCkgewogICAgICAgIAlpZiAoc29wLmZpbmQoe2l0My0+c2Vjb25kLGl0My0+Zmlyc3QgfSk9PXNvcC5lbmQoKSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHRydWU7IAp9CgppbnQgbWFpbigpIHsKCVNPUCB0ZXN0MSB7IHsxLDN9LHsyLDR9LHs1LDd9LHs3LDV9LCB7NCwyfSwgezMsMX0gfTsKCVNPUCB0ZXN0MiB7IHsxLDN9LHsyLDR9LHs1LDd9LHs3LDV9LCB7NCwyfSwgezMsMX0sIHs4LDR9IH07CgkJCgljb3V0IDw8IGlzX3N5bWV0cmljKHRlc3QxKTw8ZW5kbDsgCgljb3V0IDw8IGlzX3N5bWV0cmljKHRlc3QyKTw8ZW5kbDsgCglyZXR1cm4gMDsKfQ==