Realizzare un semplice e rudimentale (ma il piu' aggressivo possibile che lo valutiamo sulle istanze che risolve) algoritmo di branch and bound per il seguente problema. Dato un grafo G=(V,E), un sottoinsieme F di archi e' detto un matching se nessun nodo in V e' incidente in piu' di un arco di F. Un matching F di G e' detto massimale se non esiste alcun matching di G che lo contenga propriamente. Tra i matching massimali di G, siamo interessati a trovarne uno che sia il piu' piccolo (numero di archi) possibile. Esempio: Sul seguente grafo di 6 nodi e 9 archi input.txt 6 9 1 2 1 3 1 6 2 3 2 4 3 5 4 5 4 6 5 6 una delle 6 soluzioni ottime sarebbe: output.txt 2 1 2 5 6 Hint: fate scelte realistiche sull'implementazione considerato il poco tempo che avete. Brutali sull'implementazione ma/e astuti.