#include #include #include using namespace std; class Node { public: virtual void push(Node *n) {}; virtual void print() {}; }; class Rose : public Node { public: vector *v; Rose () { v = new vector(); v->reserve(1000); } void push(Node * n) {v->push_back(n);}; void print() { cout << "["; for (Node *x : *v) { x->print(); cout << ","; } cout << "]"; }; }; class Leaf : public Node { public: char x; void print() { cout << x; }; }; int main() { Rose rr; Rose* r=&rr; Rose* rx=&rr; for (long i=0;i<40100100; i++) { if ((i%1000)!=0) { Leaf *l=new Leaf(); l->x=i%256; r->push(l); } else { Rose* l= new Rose(); r->v->push_back(l); r=l; } } //rx->print(); //cout << "Hello, World!"; //cin.get(); return 0; }