| 23 | } |
| 24 | |
| 25 | int main() { |
| 26 | { |
| 27 | using namespace SLOW; |
| 28 | adj = { |
| 29 | {3}, |
| 30 | {3}, |
| 31 | {3}, |
| 32 | {0, 1, 2, 4}, |
| 33 | {3, 5}, |
| 34 | {4} |
| 35 | }; |
| 36 | vector<int> exp_code = {3, 3, 3, 4}; |
| 37 | assert(pruefer_code() == exp_code); |
| 38 | |
| 39 | vector<int> code2 = {5, 3, 2, 4, 4}; |
| 40 | auto edges = pruefer_decode(code2); |
| 41 | adj = get_adj(edges); |
| 42 | assert(pruefer_code() == code2); |
| 43 | } |
| 44 | { |
| 45 | using namespace FAST; |
| 46 | adj = { |
| 47 | {3}, |
| 48 | {3}, |
| 49 | {3}, |
| 50 | {0, 1, 2, 4}, |
| 51 | {3, 5}, |
| 52 | {4} |
| 53 | }; |
| 54 | vector<int> exp_code = {3, 3, 3, 4}; |
| 55 | assert(pruefer_code() == exp_code); |
| 56 | |
| 57 | vector<int> code2 = {5, 3, 2, 4, 4}; |
| 58 | auto edges = pruefer_decode(code2); |
| 59 | adj = get_adj(edges); |
| 60 | assert(pruefer_code() == code2); |
| 61 | } |
| 62 | } |