#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void print( const std::vector< std::vector< int > > & a )
{
for ( int i = 0, rows = a.size(); i < rows; i++ ) {
for ( int j = 0, cols = a[ i ].size(); j < cols; j++ ) {
cout << a[ i ][ j ] << " ";
}
cout << endl;
}
}
int main() {
std::vector< std::vector< int > > array =
{
{1,4,3,6,5},
{1,2,3,4,5},
{1,5,3,3,5},
{1,2,3,4,5}
};
std::vector< std::vector< int > > result1;
std::vector< std::vector< int > > result2;
const int rowsCount = array.size();
for ( int i = 0; i < rowsCount; i++ ) {
bool hasEqual = false;
for ( int j = 0; j < rowsCount; j++ ) {
if ( i == j ) {
continue;
}
if ( std::equal( array[ i ].begin(), array[ i ].end(), array[ j ].begin() ) ) {
hasEqual = true;
result1.push_back( array[ i ] );
break;
}
}
if ( ! hasEqual ) {
result2.push_back( array[ i ] );
}
}
cout << "result1" << endl;
print( result1 );
cout << "result2" << endl;
print( result2 );
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludCggY29uc3Qgc3RkOjp2ZWN0b3I8IHN0ZDo6dmVjdG9yPCBpbnQgPiA+ICYgYSApCnsKCWZvciAoIGludCBpID0gMCwgcm93cyA9IGEuc2l6ZSgpOyBpIDwgcm93czsgaSsrICkgewogICAgICAgIGZvciAoIGludCBqID0gMCwgY29scyA9IGFbIGkgXS5zaXplKCk7IGogPCBjb2xzOyBqKysgKSB7CiAgICAJICAgIGNvdXQgPDwgYVsgaSBdWyBqIF0gPDwgIiAiOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9Cn0KCmludCBtYWluKCkgewogICAgc3RkOjp2ZWN0b3I8IHN0ZDo6dmVjdG9yPCBpbnQgPiA+IGFycmF5ID0KICAgIHsKICAgICAgICB7MSw0LDMsNiw1fSwKICAgICAgICB7MSwyLDMsNCw1fSwKICAgICAgICB7MSw1LDMsMyw1fSwKICAgICAgICB7MSwyLDMsNCw1fQogICAgfTsKICAgIHN0ZDo6dmVjdG9yPCBzdGQ6OnZlY3RvcjwgaW50ID4gPiByZXN1bHQxOwogICAgc3RkOjp2ZWN0b3I8IHN0ZDo6dmVjdG9yPCBpbnQgPiA+IHJlc3VsdDI7CgogICAgY29uc3QgaW50IHJvd3NDb3VudCA9IGFycmF5LnNpemUoKTsKICAgIGZvciAoIGludCBpID0gMDsgaSA8IHJvd3NDb3VudDsgaSsrICkgewogICAgICAgIGJvb2wgaGFzRXF1YWwgPSBmYWxzZTsKICAgICAgICBmb3IgKCBpbnQgaiA9IDA7IGogPCByb3dzQ291bnQ7IGorKyApIHsKICAgICAgICAgICAgaWYgKCBpID09IGogKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoIHN0ZDo6ZXF1YWwoIGFycmF5WyBpIF0uYmVnaW4oKSwgYXJyYXlbIGkgXS5lbmQoKSwgYXJyYXlbIGogXS5iZWdpbigpICkgKSB7CiAgICAgICAgICAgICAgICBoYXNFcXVhbCA9IHRydWU7CiAgICAgICAgICAgICAgICByZXN1bHQxLnB1c2hfYmFjayggYXJyYXlbIGkgXSApOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCAhIGhhc0VxdWFsICkgewogICAgICAgICAgICByZXN1bHQyLnB1c2hfYmFjayggYXJyYXlbIGkgXSApOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8ICJyZXN1bHQxIiA8PCBlbmRsOwogICAgcHJpbnQoIHJlc3VsdDEgKTsKCiAgICBjb3V0IDw8ICJyZXN1bHQyIiA8PCBlbmRsOwogICAgcHJpbnQoIHJlc3VsdDIgKTsKCiAgICByZXR1cm4gMDsKfQ==