Sappiamo tutti che molti esercizi riguardano solo metà del tuo corpo, quindi devi eseguirli due volte, una volta per parte. Tali esercizi hanno due controparti, una per il lato sinistro e una per il lato destro. Tuttavia, non è necessario eseguire consecutivamente le due controparti, purché gli esercizi per entrambe le parti siano nello stesso ordine. Puoi anche passare da una parte all'altra del tuo programma di esercizi, ma non avrebbe senso iniziare alcuni esercizi da una parte e alcuni dall'altra.
Sfida
Una parte di esercizio è un elenco di numeri interi diversi da zero, in cui la sua seconda metà è costituita dai numeri interi della prima metà negati e nello stesso ordine, e i segni dei numeri interi su ciascuna metà sono uguali. Il segno della prima metà di una parte di esercizio è il suo lato principale .
Un set di esercizi è zero o più parti di esercizi con lo stesso lato iniziale concatenato insieme.
Dato un elenco di numeri interi diversi da zero come input, determinare se si tratta di un set di esercizi. I numeri interi non sono necessariamente unici. La lunghezza dell'elenco non è necessariamente pari.
La soluzione non può utilizzare nessuna delle scappatoie standard . È possibile utilizzare due valori coerenti diversi per l'output. Questo è code-golf , quindi vince la soluzione più breve.
Esempi
[-5, -1, -7, -6, -5, 5, 1, 7, 6, 5]è un esempio di una parte di esercizio. La prima metà è [-5, -1, -7, -6, -5]e l'ultima metà è [5, 1, 7, 6, 5], che è ogni numero intero nella prima metà negato. Inoltre, i numeri interi della prima metà hanno tutti lo stesso segno. Il lato principale di questa parte di esercizio è -1.
[3, 6, 5, -3, -6, -5, 1, 6, 4, 3, -1, -6, -4, -3]è un esempio di set di esercizi. Le sue singole parti di esercizio sono [3, 6, 5, -3, -6, -5]e [1, 6, 4, 3, -1, -6, -4, -3], ed entrambe hanno il lato principale 1.
[4, -4, -5, 5], nonostante sia costituito solo da parti di esercizi valide, non è un set di esercizi, poiché la prima parte [4, -4]ha un lato guida 1, mentre la seconda parte [-5, 5]ha un lato guida -1.
Casi test
Valori di test validi:
[]
[1, -1]
[1, -1, 1, -1]
[-6, 6, -5, -4, -3, 5, 4, 3]
[-1, -5, -8, 1, 5, 8, -7, -6, -5, -3, 7, 6, 5, 3]
[-1, -5, -8, 1, 5, 8, -1, 1]
Casi di test non validi:
[1]
[1, -2]
[1, 2, -3, -1, -2, 3]
[1, 2, 3, -3, -1, -2]
[-1, -5, -8, 1, 5, 8, 7, 6, 5, 3, -7, -6, -5, -3]
[1, 2, 3, 5, 1, 2, 3, 5]
[1, 2, -5, 4, -6, 5, 5, -6]
[1, 2, -1, 3, -2, -3]
[1, -2, 1]
[-1, -1, 1]
[1, -1, 1]