Dalam fisika, muatan listrik seperti mengusir, dan muatan yang tidak seperti menarik.
Energi potensial antara dua satuan muatan yang dipisahkan oleh jarak d
adalah 1/d
untuk muatan sejenis dan -1/d
untuk muatan tidak sama. Energi potensial dari sistem muatan adalah jumlah energi potensial di antara semua pasangan muatan.
Tantangan
Tentukan energi potensial sistem muatan unit yang diwakili oleh string.
Ini adalah kode-golf , jadi solusi terpendek dalam byte menang.
Memasukkan
Sebuah multiline string yang tak kosong, hanya terdiri dari +
, -
,
dan baris baru, dengan setiap baris lebar konstan. The +
dan -
mewakili tuduhan +1 dan -1 masing-masing. Misalnya, string berikut:
+ -
+
(mempertimbangkan kiri atas sebagai asal) mewakili sistem dengan muatan positif pada (4,0) dan (1, -1) dan muatan negatif pada (6,0).
Atau, Anda dapat mengambil input sebagai daftar baris.
Keluaran
Bilangan real yang ditandatangani mewakili energi potensial dari sistem biaya. Keluaran harus benar untuk empat angka penting atau 10 -4 , mana yang lebih longgar.
Kasus uji:
-
Haruskah output 0
. Tidak ada pasangan biaya untuk mengusir atau menarik, dan ruang putih tidak mengubah apa pun.
+
-
Hanya ada dua tuduhan; mereka 1 unit jauhnya dalam arah vertikal dan 2 unit jauhnya dalam arah horizontal, sehingga jarak mereka adalah sqrt (5). Output harus -1 / sqrt (5) = -0.447213595
.
+ -
- +
Harus memberi -2.001930531
.
- -- -+ - - -+-++-+
+-- + +-- + ++-++ -
---++-+-+- -+- - +-
-- - -++-+ --+ +
- + --+ ++-+ +-
-- ++- + + -+--+
+ +++-+--+ +--+++ +
-+- +-+-+-+ -+ +--+
- +-+- + ---+
- - ++ -+- --+--
Harus memberi -22.030557890
.
---+--- ++-+++- -+ +
-+ ---+++-+- +- + +
---+-+ - ---- +-- -
- + +--+ -++- - -
--+ - --- - -+---+ -
+---+----++ - + +
-+ - ++-- ++- -+++
+----+- ++-+-+ -
++- -+ -+---+ -- -+
+-+++ ++-+-+ -+- +-
Harus memberi 26.231088767
.