Proveniente da questo post sandbox
Questo si ispira a un test di matematica di terza elementare
Intro
Abbiamo un cubo con i seguenti angoli
A(0, 0, 0)
B(1, 0, 0)
C(1, 1, 0)
D(0, 1, 0)
E(0, 0, 1)
F(1, 0, 1)
G(1, 1, 1)
H(0, 1, 1)
Questo cubo ha chiaramente 8 angoli, 12 bordi e 6 facce. Se ora tagliamo l'angolo G, in modo tale che il nostro piano di taglio attraversi esattamente il centro di ciascun bordo originale adiacente, aggiungiamo 2 nuovi angoli, 3 nuovi bordi e una nuova faccia. Per favore, goditi quest'opera d'arte disegnata a mano, per un migliore chiarimento
Ingresso
Dato un elenco di angoli (in questo esempio identificato da AH), che verranno tagliati, calcola il nuovo numero di angoli, bordi e facce.
Prendi l'input in qualsiasi forma ti piaccia, purché risponda agli stessi angoli (ad es. Invece di AH puoi usare 1-8 o 0-7, puoi assumere che sia un elenco, csv, qualunque cosa)
Puoi presumere che l'elenco sia distinto (ogni angolo apparirà una volta al massimo), ma potrebbe essere vuoto. L'elenco non conterrà mai angoli inesistenti.
Produzione
Stampa tre numeri corrispondenti al numero di angoli, bordi e facce. L'output come elenco è esplicitamente consentito. Gli spazi bianchi finali sono consentiti
Esempi
{} -> 8, 12, 6 (empty list)
{A} -> 10, 15, 7
{A,C} -> 12, 18, 8
{A,C,F} -> 14, 21, 9
{A,B,C} -> 12, 19, 9
{A,B,C,D} -> 12, 20, 10
Infine, questo è codegolf, quindi vince la risposta più breve in byte. Si prega di astenersi da scappatoie standard.
