Ho un bel dilemma e non sò come uscirne in pratica mentre in linea teorica si.

Supponiamo che ho un punto di partenza P e sotto posso avere un numero n di categorie (C) e un numero n2 di articoli (A) variabili.

codice:
P
|_C1 ... quello che è ...
|_C2
   |_C3
      |_C4
	 |_C5
	 |_A1
Ho semplificato e spiego.

P ha due categorie e quindi devo tenerlo valido.
C2 come vedete ha una sola sotto categoria che è c3 quindi nella ricostruzione devo fare che C2 non esiste e che P punti diretto a c3.
C3 ha sotto una sola categoria quindi a sua volta deve esser ignorato e quindi c2 dovrà agganciarsi a c4. Quest'ultimo è vero che ha una sola sotto categoria ma ha anche un articolo e quindi è valido così.

in pratica se la somma di articoli + categoria da un nodo è 1 devo agganciarmi subito lì ignorando i passaggi.

L'ulteriore complicanza è che da un punto devo anche tornare al nodo di partenza saltando i passaggi intermedi.

Avete idea? stò impazzendo