La teoria della gravitazione di Newton afferma che la forza gravitazionale tra due masse di punti è
F = (Gm 1 m 2 ) / r 2
Dove
- G è la costante gravitazionale: 6,674 × 10 −11 N · (m / kg) 2
- m 1 è la massa del primo oggetto
- m 2 è la massa del secondo oggetto
- r è la distanza tra i loro centri di massa
Sfida
Devi simulare il tiro tra due parole. Ogni lettera minuscola ha la massa data dalla sua posizione nell'alfabeto. Le lettere maiuscole hanno il doppio della massa delle loro controparti minuscole! Ti verrà data una stringa contenente due parole separate da più spazi, nonché un numero intero positivo di secondi, s . Stampa come dovrebbe apparire la stringa dopo s secondi.
Informazioni
- Poiché le parole sono astratte, hanno un insieme diverso di unità e costanti
- Massa: WMU (Word Mass Unit) - uguale alla massa della lettera 'a'.
- Distanza: em , la lunghezza di un personaggio.
- Forza: N W (Word Newton) = WMU · em / s 2
- Costante gravitazionale: G = 1 N w · (em / WMU) 2
- Il primo carattere corrisponde alla posizione 0 sull'asse x.
- Tutti i calcoli dovrebbero essere eseguiti con la massima precisione possibile, solo alla fine si arrotonda all'em più vicino.
- Non è necessario utilizzare il calcolo, è sufficiente ricalcolare la F ogni secondo, applicare automaticamente la nuova accelerazione alla velocità e dopo un secondo applicare la velocità alla posizione (vedere esempio).
- Una volta che due parole si scontrano (come
catdog
), non si spostano più.
Centro di Massa
Il centro di massa di una parola può essere trovato con la formula:
Dove M è la massa totale della parola, m i è la massa di una lettera, e r i è la posizione della lettera.
Esempio:
(Nota: sebbene questo esempio non lo mostri, ricorda che le lettere maiuscole hanno il doppio della massa delle loro controparti minuscole.)
Ingresso:, cat dog
2
Innanzitutto quali sono le posizioni di ogni parola? "cat" inizia nella posizione 0 e "dog" inizia nella posizione 9, quindi
- x c = 0 e x d = 9
Quindi, troviamo il centro di massa di "gatto".
- Ha una massa di 24 WMU (3 + 1 + 20).
- R c = 1/24 (3 * 0 + 1 * 1 + 20 * 2) = 41/24 = 1.70833 em
- Quindi non sorprende che il centro di massa sia molto vicino alla lettera 't'.
Ora prendiamo il centro di massa di "cane"
- R d = 1/26 (4 * 9 + 15 * 10 + 7 * 11) = 263/26 = 10.11538 em
- Quindi il centro di massa per il cane è vicino alla lettera 'o', leggermente verso 'g'.
Ora possiamo calcolare la forza tra le due parole.
- F = 24 * 26 / (10.11538-1.70833) 2 = 8.82871 N p
Ora dobbiamo applicare questa forza ad entrambe le parole e ottenere le loro accelerazioni
- a c = 8.82871 / 24 = .36786 em / s 2
- a d = -8.82871 / 26 = -.33957 em / s 2
Seguendo le regole sopra, applichiamo l'accelerazione alla velocità, quindi
- v c = .36786 em / s
- v d = -.33957 em / s
Quindi applichiamo la velocità alla posizione, quindi dopo un secondo,
- x c = .36786 em
- x d = 9 -.33957 = 8.66043 em.
- R c = 1.70833 + .36786 = 2.07619 em
- R d = 10.11538-.33957 = 9.77581 em
Ora ripetiamo la procedura ancora una volta con le nuove posizioni:
- F = 24 * 26 / ((9.77581) - (2.07619)) 2 = 10.52558 N p
- a c = 10.52558 / 24 = .43857 em / s 2 , a d = 10.52558 / 26 = -.40483 em / s 2
- v c = .36786 + .43857 = .80643 em / s, v d = -.33957 - .40483 = -.74440 em / s
- x c = .36786 + .80643 = 1.17429 em, x d = 8.66043 - .74440 = 7.91603 em
- R c = 2.07619 + .80643 = 2.88262 em, R d = 9.77581 - .74440 = 9.03141 em
Quindi finiamo con "cat" in x = 1.17429 e "dog" in x = 7.91603.
- Arrotondiamo quelli al numero intero più vicino in modo che "cat" vada in posizione 1 e "dog" vada in posizione 8, quindi l'output è
cat dog
- Arrotondiamo quelli al numero intero più vicino in modo che "cat" vada in posizione 1 e "dog" vada in posizione 8, quindi l'output è
Gestione delle collisioni
Ricorda che la nuova accelerazione viene immediatamente aggiunta alla velocità ogni secondo. Pertanto, se due parole si scontrano in un determinato momento, utilizzare l'algebra per trovare il punto di collisione. Prendi questo esempio:
- la parola 1 è lunga 4 lettere (|| w 1 || = 4)
- la parola 2 è lunga 4 lettere (|| w 2 || = 4)
- x 1 = 3, x 2 = 8
v 1 = 2, v 2 = -6
Risolvi
3 + (4-1) + 2t = 8 - 6t
. t = .25s. La posizione della collisione è x col = 6.5. Pertanto, la collisione dovrebbe apparire tra x = 6 e x = 7, in quanto tale####@@@@
.
La formula esplicita per le posizioni delle parole dopo una collisione è
- x 1 = piano (x col ) - || w 1 || +1
- x 2 = piano (x col ) +1
xx a
(uno spazio tra le parole xx
e a
). Nella fisica newtoniana, la forza che si a
sente sarebbe dovuta al x
tiro più vicino da una distanza di due em, e l'altro che x
tira da una distanza di tre em, sì? Non è la stessa forza di un singolo punto-massa che X
tira da una distanza di 2.5
em (cioè il centro di massa del xx
), a causa della legge del quadrato inverso ...