Concatena els valors d'un arbre binari de strings S37830


Statement
 

pdf   zip   tar

thehtml

Si recorrem un BinTree<string> com el següent

:root:
|-- left
'-- right

en inordre, obtenim la seqüència left, :root:, right. Si concatenem aquests strings el resultat seria: left:root:right.

Implementa la funció tree_join, que fa aquesta operació en un BinTree<string> qualsevol:

/**
 * @brief Concatena els valors d'un arbre binari de `string`s en inordre
 * 
 * @param t Un arbre binari de `string`s
 * @returns El resultat de la concatenació
 */
string tree_join(BinTree<string> t);

Observació

Els fitxers públics (icona del gatet) contenen:

main.ccel programa principal, amb la entrada/sortida feta
bintree.hhla classe BinTree<T>
bintree-io.hhl’entrada/sortida de BinTree<T>
bintree-inline.hhl’entrada/sortida "inline" de BinTree<T>
Makefileper compilar amb make còmodament
.vscodecarpeta per compilar i debuggar amb VSCode

Cal implementar tree_join en un fitxer .cc nou, compilar, i finalment enviar només el fitxer amb la funció.

Entrada

L’entrada comença amb "visual" o "inline" per indicar el format dels arbres d’entrada. Després ve una seqüència d’arbres en el format indicat. (D’això s’encarrega el programa principal).

Sortida

La sortida són els strings resultants de cridar la funció tree_join, un resultat per línia. (D’això també s’encarrega el programa principal.)

Public test cases
  • Input

    visual
    
    rpe
    |-- ca
    '-- diem
    
    Laura!
    |-- Felicidades,
    '-- #
    
    #
    
    c
    |-- a
    |   |-- "
    |   '-- b
    '-- "
    
    

    Output

    carpediem
    Felicidades,Laura!
    
    "abc"
    
  • Input

    inline
    ooo(fck(sog(gij,),fbc(tei,)),)
    sbe(ik(qri(ol,),whs(kx,)),)
    vvk(jp(dkv,idi),owm(,tep))
    kmp(vg(ol,eem),ld(jy,al))
    dn(pi(mm,ny),rp(,vf))
    lgn(,qa(ut,rph))
    sw(pw(ml,bf),ai(dtf,wsk))
    vi(jou(jnp,dqt),nis(yxo,kr))
    vc(duv(nrc,de),lgy(vid,ls))
    jla(vuh(tt,bo),ujw(nvd(iqy,),))
    

    Output

    gijsogfckteifbcooo
    olqriikkxwhssbe
    dkvjpidivvkowmtep
    olvgeemkmpjyldal
    mmpinydnrpvf
    lgnutqarph
    mlpwbfswdtfaiwsk
    jnpjoudqtviyxoniskr
    nrcduvdevcvidlgyls
    ttvuhbojlaiqynvdujw
    
  • Information
    Author
    Pau Fernández
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++