Vectors Incrustables. X80035


Statement
 

pdf   zip   main.R

Siguin AA i BB dos vectors, i siguin A1A_1 i A2A_2 una partició arbitrària d’AA tal que AA és la concatenació d’A1A_1 i A2A_2. La incrustació de BB a dins d’AA és el vector que tenim un cop hem concatenat A1A_1 amb BB i amb A2A_2. Per exemple, si A = [1,2,3,4][1, 2, 3, 4] i B=[6,7,8]B = [6,7,8], una possible incrustació de BB a dins d’AA seria [1,2,6,7,8,3,4][1,2,6,7,8,3,4].

Òbviament, si N = len(A) llavors podem incrustar BB en N+1N + 1 possibles posicions. Cal dir que els casos extrems consistirien en incrustar BB abans d’AA o bé al final d’AA.

Siguin AA i BB dos vectors ordenats d’enters, potser amb repeticions i que poden tenir mides diferents. Diem que AA i BB són incrustables si la incrustació de BB a dins d’AA és també un vector ordenat. Per exemple, si tenim que:

A=

1 3 25 26

B =

8 9 10 19 24

llavors AA i BB són incrustables, ja que si incrustem el vector BB a la posició 33 del vector AA:

1 3 8 9 10 19 24 25 26

es manté ordenat. En canvi, si tenim:

A=

1 3 15 26

B =

5 9 33

AA i BB no són incrustables, ja que no hi ha cap manera d’incrustar BB a dins d’AA de manera que ens doni un vector ordenat.

Feu la funció incrustables(A,B) tal que, donats un parell de vectors d’enters ordenats A,B, retorni TRUE si i només si BB és incrustable a AA.

IMPORTANT: Per a fer aquest problema, tingueu en compte que no cal crear els vectors incrustats.

Entrada

Dos vectors d’enters ordenats AA i BB.

Sortida

TRUE si i només si BB és incrustable a AA.

Public test cases
  • Input

    4
    1  3  25  26
    5
    8  9  10  19  24
    

    Output

    TRUE 
    
  • Input

    4
    1  3  15  26
    3
    5  9  33
    

    Output

    FALSE 
    
  • Information
    Author
    Jaume Baixeries
    Language
    Catalan
    Official solutions
    R
    User solutions
    R