W fizyce, jak ładunki elektryczne odpychają, a w przeciwieństwie do ładunków przyciągają.
Energia potencjalna między dwoma ładunkami jednostkowymi oddzielonymi odległością d
jest 1/d
dla podobnych ładunków i -1/d
dla różnych ładunków. Energia potencjalna układu ładunków jest sumą energii potencjalnej między wszystkimi parami ładunków.
Wyzwanie
Określ energię potencjalną układu ładunków jednostkowych reprezentowanych przez ciąg.
To jest golf golfowy , więc wygrywa najkrótsze rozwiązanie w bajtach.
Wkład
To niepusty ciąg wielowierszowego, składający się tylko z +
, -
,
i nowej linii, z każdej linii stałej szerokości. +
I -
stanowią koszty +1 i -1, odpowiednio. Na przykład następujący ciąg:
+ -
+
(biorąc pod uwagę, że lewy górny to początek) reprezentuje układ z dodatnimi ładunkami przy (4,0) i (1, -1) i ujemnym ładunkiem przy (6,0).
Alternatywnie, możesz wziąć dane wejściowe jako listę linii.
Wydajność
Podpisana liczba rzeczywista reprezentująca energię potencjalną układu ładunków. Dane wyjściowe powinny być poprawne do czterech cyfr znaczących lub 10-4 , w zależności od tego, która wartość jest luźniejsza.
Przypadki testowe:
-
Powinien wyjść 0
. Nie ma par ładunków, które mogłyby odpychać lub przyciągać, a białe znaki nic nie zmieniają.
+
-
Są tylko dwa obciążenia; są one oddalone o 1 jednostkę w kierunku pionowym i 2 jednostki w kierunku poziomym, więc ich odległość wynosi sqrt (5). Wyjście powinno wynosić -1 / sqrt (5) = -0.447213595
.
+ -
- +
Powinien dać -2.001930531
.
- -- -+ - - -+-++-+
+-- + +-- + ++-++ -
---++-+-+- -+- - +-
-- - -++-+ --+ +
- + --+ ++-+ +-
-- ++- + + -+--+
+ +++-+--+ +--+++ +
-+- +-+-+-+ -+ +--+
- +-+- + ---+
- - ++ -+- --+--
Powinien dać -22.030557890
.
---+--- ++-+++- -+ +
-+ ---+++-+- +- + +
---+-+ - ---- +-- -
- + +--+ -++- - -
--+ - --- - -+---+ -
+---+----++ - + +
-+ - ++-- ++- -+++
+----+- ++-+-+ -
++- -+ -+---+ -- -+
+-+++ ++-+-+ -+- +-
Powinien dać 26.231088767
.