total descendants:: total children::1 |
v pythone neviem robit, ale imho to je ako binarne cislo, kde kazdy rad je jedna cifra z listu, teda: 3210 -------------------- 0000 - prazdne 0001 - 0 0010 - 1 0011 - 01 (10) 0100 - 2 0101 - 02 0110 - 12 0111 - 123 1000 - 3 atd nemam cas, takze narychlo v c++ by to bolo asi takto (max 64 cifier): zoznam_kombinacii sprav_z(vector<int>& v) { int val = (1 << v.size()) - 1; // vsetky prvky pouzite (11111..) while (val != 0) { for (int i=63; i>0; i--) { if (val & (1<<i)) kombinacia.add( i ); } zoznam_kombinacii.add( kombinacia ); val--; } return zoznam_kombinacii; } ehm, int je akoze 64-bitovy ;) nejak obdobne by to malo ist spravit aj bez takeho lowlevel |
| |||||||||||||||||||||||||