У фізиці як електричні заряди відштовхуються, і на відміну від зарядів притягують.
Потенційна енергія між двома одиничними зарядами, розділеними на відстань, d
становить1/d
для подібних зарядів і -1/d
для несхожих зарядів. Потенційна енергія системи зарядів - це сума потенційних енергій між усіма парами зарядів.
Виклик
Визначте потенційну енергію системи одиничних зарядів, представлених рядком.
Це код-гольф , тому найкоротше рішення в байтах виграє.
Вхідні дані
Непорожня багаторядкова рядок, що складається тільки +
, -
,
і перекладів рядків, з кожною лінією постійної шириною. +
І -
є заряди +1 і -1 відповідно. Наприклад, наступний рядок:
+ -
+
(враховуючи початок зліва вгорі) являє собою систему з позитивними зарядами при (4,0) та (1, -1) та негативним зарядом при (6,0).
Крім того, ви можете взяти дані як список рядків.
Вихідні дані
Підписане реальне число, що представляє потенційну енергію системи зарядів. Вихід повинен бути правильним для чотирьох значущих цифр або 10 -4 , залежно від того, що є втраченим.
Тестові приклади:
-
Потрібно вивести 0
. Немає пари зарядів для відштовхування або залучення, а пробіл нічого не змінює.
+
-
Є лише два звинувачення; вони знаходяться на відстані 1 одиниці у вертикальному напрямку та на 2 одиниці у горизонтальному напрямку, тому їх відстань дорівнює sqrt (5). Вихід повинен бути -1 / sqrt (5) = -0.447213595
.
+ -
- +
Слід давати -2.001930531
.
- -- -+ - - -+-++-+
+-- + +-- + ++-++ -
---++-+-+- -+- - +-
-- - -++-+ --+ +
- + --+ ++-+ +-
-- ++- + + -+--+
+ +++-+--+ +--+++ +
-+- +-+-+-+ -+ +--+
- +-+- + ---+
- - ++ -+- --+--
Слід давати -22.030557890
.
---+--- ++-+++- -+ +
-+ ---+++-+- +- + +
---+-+ - ---- +-- -
- + +--+ -++- - -
--+ - --- - -+---+ -
+---+----++ - + +
-+ - ++-- ++- -+++
+----+- ++-+-+ -
++- -+ -+---+ -- -+
+-+++ ++-+-+ -+- +-
Слід давати 26.231088767
.