#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/vf2_sub_graph_iso.hpp>
#include <boost/version.hpp>
using namespace boost;
int main(){
std::cout << "Boost version: "
<< BOOST_VERSION / 100000 << "." // major version
<< BOOST_VERSION / 100 % 1000 << "." // minor version
<< BOOST_VERSION % 100 // patch level
<< std::endl;
typedef adjacency_list< setS, vecS, bidirectionalS > graph_type;
// 5
// 1 2
// 1 3
// 1 4
// 4 5
// Build graph1
int num_vertices1 = 5;
graph_type graph1(num_vertices1);
add_edge(0, 1, graph1);
add_edge(0, 2, graph1);
add_edge(0, 3, graph1);
add_edge(3, 4, graph1);
// 4
// 1 2
// 2 3
// 3 4
// Build graph2
int num_vertices2 = 4;
graph_type graph2(num_vertices2);
add_edge(0, 1, graph2);
add_edge(1, 2, graph2);
add_edge(2, 3, graph2);
vf2_print_callback< graph_type, graph_type > callback(graph1, graph2);
vf2_subgraph_iso(graph1, graph2, callback);
return 0;
}
I2luY2x1ZGUgPGJvb3N0L2dyYXBoL2FkamFjZW5jeV9saXN0LmhwcD4KI2luY2x1ZGUgPGJvb3N0L2dyYXBoL3ZmMl9zdWJfZ3JhcGhfaXNvLmhwcD4KI2luY2x1ZGUgPGJvb3N0L3ZlcnNpb24uaHBwPgp1c2luZyBuYW1lc3BhY2UgYm9vc3Q7CgppbnQgbWFpbigpewpzdGQ6OmNvdXQgPDwgIkJvb3N0IHZlcnNpb246ICIgICAgIAogICAgICAgICAgPDwgQk9PU1RfVkVSU0lPTiAvIDEwMDAwMCAgICAgPDwgIi4iICAvLyBtYWpvciB2ZXJzaW9uCiAgICAgICAgICA8PCBCT09TVF9WRVJTSU9OIC8gMTAwICUgMTAwMCA8PCAiLiIgIC8vIG1pbm9yIHZlcnNpb24KICAgICAgICAgIDw8IEJPT1NUX1ZFUlNJT04gJSAxMDAgICAgICAgICAgICAgICAgLy8gcGF0Y2ggbGV2ZWwKICAgICAgICAgIDw8IHN0ZDo6ZW5kbDsKICAgIHR5cGVkZWYgYWRqYWNlbmN5X2xpc3Q8IHNldFMsIHZlY1MsIGJpZGlyZWN0aW9uYWxTID4gZ3JhcGhfdHlwZTsKLy8gNQovLyAxIDIKLy8gMSAzCi8vIDEgNAovLyA0IDUKICAgIC8vIEJ1aWxkIGdyYXBoMQogICAgaW50IG51bV92ZXJ0aWNlczEgPSA1OwogICAgZ3JhcGhfdHlwZSBncmFwaDEobnVtX3ZlcnRpY2VzMSk7CiAgICBhZGRfZWRnZSgwLCAxLCBncmFwaDEpOwogICAgYWRkX2VkZ2UoMCwgMiwgZ3JhcGgxKTsKICAgIGFkZF9lZGdlKDAsIDMsIGdyYXBoMSk7CiAgICBhZGRfZWRnZSgzLCA0LCBncmFwaDEpOwovLyA0Ci8vIDEgMgovLyAyIDMKLy8gMyA0CiAgICAvLyBCdWlsZCBncmFwaDIKICAgIGludCBudW1fdmVydGljZXMyID0gNDsKICAgIGdyYXBoX3R5cGUgZ3JhcGgyKG51bV92ZXJ0aWNlczIpOwogICAgYWRkX2VkZ2UoMCwgMSwgZ3JhcGgyKTsKICAgIGFkZF9lZGdlKDEsIDIsIGdyYXBoMik7CiAgICBhZGRfZWRnZSgyLCAzLCBncmFwaDIpOwoKICAgIHZmMl9wcmludF9jYWxsYmFjazwgZ3JhcGhfdHlwZSwgZ3JhcGhfdHlwZSA+IGNhbGxiYWNrKGdyYXBoMSwgZ3JhcGgyKTsKICAgIHZmMl9zdWJncmFwaF9pc28oZ3JhcGgxLCBncmFwaDIsIGNhbGxiYWNrKTsKICAgIHJldHVybiAwOwp9Cg==